Linux查看和關閉后台運行程序的方法


運行.sh文件

直接用./sh 文件就可以運行,但是如果想后台運行,即使關閉當前的終端也可以運行的話,需要nohup命令和&命令。

&命令

功能:加在一個命令的最后,可以把這個命令放在后台執行

nohup命令

功能:不掛斷的運行命令
被運行的程序的輸出將不會在終端中顯示,默認會輸出到當前目錄下的nohup.out文件中,如果當前目錄nohup.out不可寫,則輸出重定向到$home/nohup.out文件。如果沒有文件能被創建或追加寫入,則要執行的命令將不會執行。

nohup command &
nohup command >log.txt 2>&1 &	指定輸出實例
nohup python2 -m SimpleHTTPServer 20673 >log.txt &  指定輸出實例?學長當時這樣說的。

直接通過command獲取進程id並直接kill掉

ps aux |grep command |grep -v grep |awk '{print $1}' |xargs kill -9 

查看當前后台運行的命令

有兩個命令可以用,jobs和ps,區別是jobs用於查看當前終端后台運行的任務,換了終端就看不到了。而ps命令用於查看瞬間進程的動態,可以看到別的終端運行的后台進程。

jobs命令

功能:查看當前終端后台運行的任務
jobs -l選項可顯示當前終端所有任務的PID,jobs的狀態可以是running,stopped,Terminated。+ 號表示當前任務,- 號表示后一個任務。

ps命令

功能:查看當前的所有進程

ps -aux | grep "test.sh" #a:顯示所有程序 u:以用戶為主的格式來顯示 x:顯示所有程序,不以終端機來區分

關閉當前后台運行的命令

kill命令:結束進程

通過jobs命令查看jobnum,然后執行 kill %jobnum

通過ps命令查看進程號PID,然后執行 kill %PID

如果是前台進程的話,直接執行 Ctrl+c 就可以終止了

前后台進程的切換與控制

fg命令

功能:將后台中的命令調至前台繼續運行

如果后台中有多個命令,可以先用jobs查看jobnun,然后用 fg %jobnum 將選中的命令調出。

Ctrl + z 命令

功能:將一個正在前台執行的命令放到后台,並且處於暫停狀態

bg命令

功能:將一個在后台暫停的命令,變成在后台繼續執行

如果后台中有多個命令,可以先用jobs查看jobnum,然后用 bg %jobnum 將選中的命令調出繼續執行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM