linux系統任務的後台執行和關閉、檢視後台任務常用命令有fg、bg、jobs、&、nohup、ctrl+z和ctrl+c等 命令
如果程式是 sh檔案,直接用./sh 檔案就可以執行,但是如果想後台執行,即使關閉當前的終端也可以執行的話,需要nohup命令和&命令。
(1)&命令
功能:加在乙個命令的最後,可以把這個命令放在後台執行(關閉當前的終端後將被kill)
例如:watch -n 10 sh test.sh & #每10s在後台執行一次test.sh指令碼
(2)nohup命令
功能:不結束通話的執行命令,其意思是如果讓程式始終在後台執行,即使關閉當前的終端也執行(之前的&做不到),這時候需要nohup。該命令可以在你退出帳戶/關閉終端之後繼續執行相應的程序。關閉中斷後,在另乙個終端jobs已經無法看到後台跑得程式了,此時利用ps(程序檢視命令)
例如:
nohup ./test &
ps -aux | grep "test.sh" #a:顯示所有程式 u:以使用者為主的格式來顯示 x:顯示所有程式,不以終端機來區分
。
有兩個命令可以用,jobs和ps,區別是jobs用於檢視當前終端後台執行的任務,換了終端就看不到了。而ps命令用於檢視瞬間程序的動態,可以看到別的終端執行的後台程序。
(1)jobs命令
功能:檢視當前終端後台執行的任務
jobs -l選項可顯示當前終端所有任務的pid,jobs的狀態可以是running,stopped,terminated。+ 號表示當前任務,- 號表示後乙個任務。
(1)fg命令
功能:將後台中的命令調至前台繼續執行
如果後台中有多個命令,可以先用jobs檢視jobnun,然後用 fg %jobnum 將選中的命令調出。
(2)ctrl + z 命令
功能:將乙個正在前台執行的命令放到後台,並且處於暫停狀態
(3)bg命令
功能:將乙個在後台暫停的命令,變成在後台繼續執行
如果後台中有多個命令,可以先用jobs檢視jobnum,然後用 bg %jobnum 將選中的命令調出繼續執行。
kill命令:結束程序
(1)通過jobs命令檢視jobnum,然後執行 kill %jobnum
(2)通過ps命令檢視程序號pid,然後執行 kill %pid
如果是前台程序的話,直接執行 ctrl+c 就可以終止了
Linux中後台執行任務
執行時,可以在命令最後新增 使其後台執行,但是其輸出依然會顯示,而且其執行是和當前shell繫結的 如果指令碼已經執行,可以使用ctrl z暫停,然後使用 bg 讓其轉入後台,再 disown 解除關聯,例如 z 1 stopped make j2 tomcat n00 master bg 1 ma...
Linux 任務後台執行(總結)
使任務後台執行fg 將後台執行或者停止的任務放到前台執行。bg使後台停止的任務執行在後台 jobs 列出後台執行或停止或已完成的程序 ctrl z 將當前在shell上執行的任務放入後台停止,可以結合 bg 命令使任務後台執行 上面方法中執行的程序都屬於shell的子程序,所以一旦shell關閉,斷...
Linux後台執行任務 nohup
不中斷 表示在後台執行命令,沒有辦法通過ctrl c結束命令,但是可以通過關閉終端來殺掉程序。nohup 不掛起 nohup命令 如果你正在執行乙個程序,而且你覺得在退出帳戶時該程序還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶 關閉終端之後繼續執行相應的程序。nohup就是不掛起的...