在日常開發(fā)過程中,除了例行調(diào)度的任務(wù)和直接在開發(fā)環(huán)境下比如Scripts,開發(fā),很多情況下是shell下直接搞起(小公司一般是這樣),看一下常見的linux后臺運行和關(guān)閉的命令,這里做一個總結(jié),主要包括:fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令等
加在一個命令的最后,可以把這個命令放到后臺執(zhí)行,如
watch -n 10 sh
test.sh &
#每10s在后臺執(zhí)行一次test.sh腳本
回到頂部
可以將一個正在前臺執(zhí)行的命令放到后臺,并且處于暫停狀態(tài)。
回到頂部
查看當前有多少在后臺運行的命令
jobs -l選項可顯示所有任務(wù)的PID,jobs的狀態(tài)可以是running, stopped, Terminated。但是如果任務(wù)被終止了(kill),shell 從當前的shell環(huán)境已知的列表中刪除任務(wù)的進程標識。
回到頂部
將后臺中的命令調(diào)至前臺繼續(xù)運行。如果后臺中有多個命令,可以用fg %jobnumber(是命令編號,不是進程號)將選中的命令調(diào)出。
回到頂部
將一個在后臺暫停的命令,變成在后臺繼續(xù)執(zhí)行。如果后臺中有多個命令,可以用bg %jobnumber將選中的命令調(diào)出。
回到頂部
法子1:通過jobs命令查看job號(假設(shè)為num),然后執(zhí)行kill %num
法子2:通過ps命令查看job的進程號(PID,假設(shè)為pid),然后執(zhí)行kill pid
前臺進程的終止:Ctrl+c
回到頂部
如果讓程序始終在后臺執(zhí)行,即使關(guān)閉當前的終端也執(zhí)行(之前的&做不到),這時候需要nohup。該命令可以在你退出帳戶/關(guān)閉終端之后繼續(xù)運行相應(yīng)的進程。關(guān)閉中斷后,在另一個終端jobs已經(jīng)無法看到后臺跑得程序了,此時利用ps(進程查看命令)
ps -aux | grep "
進程的終止: kill -9 進程號
聯(lián)系客服