Linux实现后台运行程序及查看nohup jobs
一、&
加在一個(gè)命令的最后,可以把這個(gè)命令放到后臺(tái)執(zhí)行,如
watch -n 10 sh test.sh & #每10s在后臺(tái)執(zhí)行一次test.sh腳本二、ctrl + z
可以將一個(gè)正在前臺(tái)執(zhí)行的命令放到后臺(tái),并且處于暫停狀態(tài)。
三、jobs
查看當(dāng)前有多少在后臺(tái)運(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)識(shí)。四、fg
將后臺(tái)中的命令調(diào)至前臺(tái)繼續(xù)運(yùn)行。如果后臺(tái)中有多個(gè)命令,可以用fg %jobnumber(是命令編號(hào),不是進(jìn)程號(hào))將選中的命令調(diào)出。
五、bg
將一個(gè)在后臺(tái)暫停的命令,變成在后臺(tái)繼續(xù)執(zhí)行。如果后臺(tái)中有多個(gè)命令,可以用bg %jobnumber將選中的命令調(diào)出。
六、kill
- 法子1:通過(guò)jobs命令查看job號(hào)(假設(shè)為num),然后執(zhí)行kill %num
- 法子2:通過(guò)ps命令查看job的進(jìn)程號(hào)(PID,假設(shè)為pid),然后執(zhí)行kill pid
前臺(tái)進(jìn)程的終止:Ctrl+c
七、nohup
如果讓程序始終在后臺(tái)執(zhí)行,即使關(guān)閉當(dāng)前的終端也執(zhí)行(之前的&做不到),這時(shí)候需要nohup。該命令可以在你退出帳戶/關(guān)閉終端之后繼續(xù)運(yùn)行相應(yīng)的進(jìn)程。關(guān)閉中斷后,在另一個(gè)終端jobs已經(jīng)無(wú)法看到后臺(tái)跑得程序了,此時(shí)利用ps(進(jìn)程查看命令)
ps -aux | grep "test.sh" #a:顯示所有程序 u:以用戶為主的格式來(lái)顯示 x:顯示所有程序,不以終端機(jī)來(lái)區(qū)分總結(jié)
以上是生活随笔為你收集整理的Linux实现后台运行程序及查看nohup jobs的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 家居东北角有什么讲究?
- 下一篇: Bug同样的shell脚本在win与li