十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1、編寫一個shell腳本,在腳本中編寫循環(huán)執(zhí)行的代碼(可以是死循環(huán)),然后在linux上運(yùn)行這個腳本即可。
從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供網(wǎng)站制作、做網(wǎng)站服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
2、可以把這個腳本在當(dāng)前運(yùn)行,也可以讓這個腳本在后臺運(yùn)行。
3、當(dāng)前運(yùn)行的腳本如果要kill掉的話,可以直接ctrl+c;后臺運(yùn)行的腳本要kill掉的話,可以PS查看進(jìn)程ID號,然后執(zhí)行“kill 進(jìn)程ID”命令即可。
linux命令有內(nèi)部命令和外部命令之分。內(nèi)部命令實(shí)際上是shell程序的一部分,其中包含的是一些比較簡練的linux系統(tǒng)命令,這些命令由shell程序識別并在shell程序內(nèi)部完成運(yùn)行,通常在linux系統(tǒng)加載運(yùn)行時shell就被加載并駐留在系統(tǒng)內(nèi)存中。外部命令是linux系統(tǒng)中的實(shí)用程序部分,因?yàn)閷?shí)用程序的功能通常都比較強(qiáng)大,所以它們包含的程序量也會很大,在系統(tǒng)加載時并不隨系統(tǒng)一起被加載到內(nèi)存中,而是在需要時才將其調(diào)進(jìn)內(nèi)存。通常外部命令的實(shí)體并不包含在shell中,但是其命令執(zhí)行過程是由shell 程序控制的。shell程序管理外部命令執(zhí)行的路徑查找、加載存放,并控制命令的執(zhí)行。
當(dāng)我們在終端或控制臺工作時,可能不希望由于運(yùn)行一個作業(yè)而占住了屏幕,因?yàn)榭赡苓€有更重要的事情要做,比如閱讀電子郵件。對于密集訪問磁盤的進(jìn)程,我們更希望它能夠在每天的非負(fù)荷高峰時間段運(yùn)行(例如凌晨)。為了使這些進(jìn)程能夠在后臺運(yùn)行,也就是說不在終端屏幕上運(yùn)行,有幾種選擇方法可供使用。
:當(dāng)在前臺運(yùn)行某個作業(yè)時,終端被該作業(yè)占據(jù);可以在命令后面加上 實(shí)現(xiàn)后臺運(yùn)行。例如:sh test.sh
適合在后臺運(yùn)行的命令有f i n d、費(fèi)時的排序及一些s h e l l腳本。在后臺運(yùn)行作業(yè)時要當(dāng)心:需要用戶交互的命令不要放在后臺執(zhí)行,因?yàn)檫@樣你的機(jī)器就會在那里傻等。不過,作業(yè)在后臺運(yùn)行一樣會將結(jié)果輸出到屏幕上,干擾你的工作。如果放在后臺運(yùn)行的作業(yè)會產(chǎn)生大量的輸出,最好使用下面的方法把它的輸出重定向到某個文件中:
這樣,所有的標(biāo)準(zhǔn)輸出和錯誤輸出都將被重定向到一個叫做out.file 的文件中。
PS:當(dāng)你成功地提交進(jìn)程以后,就會顯示出一個進(jìn)程號,可以用它來監(jiān)控該進(jìn)程,或殺死它。(ps -ef | grep 進(jìn)程號 或者 kill -9 進(jìn)程號)
nohup:使用命令后,作業(yè)被提交到后臺運(yùn)行,當(dāng)前控制臺沒有被占用,但是一但把當(dāng)前控制臺關(guān)掉(退出帳戶時),作業(yè)就會停止運(yùn)行。nohup命令可以在你退出帳戶之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。nohup就是不掛起的意思( no hang up)。該命令的一般形式為:
如果使用nohup命令提交作業(yè),那么在缺省情況下該作業(yè)的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:
使用了nohup之后,很多人就這樣不管了,其實(shí)這樣有可能在當(dāng)前賬戶非正常退出或者結(jié)束的時候,命令還是自己結(jié)束了。所以在使用nohup命令后臺運(yùn)行命令之后,需要使用exit正常退出當(dāng)前賬戶,這樣才能保證命令一直在后臺運(yùn)行。
ctrl + z :可以將一個正在前臺執(zhí)行的命令放到后臺,并且處于暫停狀態(tài)。
Ctrl+c :終止前臺命令。
jobs: 查看當(dāng)前有多少在后臺運(yùn)行的命令。 jobs -l選項(xiàng)可顯示所有任務(wù)的PID,jobs的狀態(tài)可以是running, stopped, Terminated。但是如果任務(wù)被終止了(kill),shell 從當(dāng)前的shell環(huán)境已知的列表中刪除任務(wù)的進(jìn)程標(biāo)識。
21解析:
擴(kuò)展鏈接:如何寫高效的代碼,和代碼優(yōu)化方法