這篇文章主要為大家展示了“Linux中進程與作業(yè)的區(qū)別有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Linux中進程與作業(yè)的區(qū)別有哪些”這篇文章吧。
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的未央網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
進程是什么?作業(yè)又是什么?在Linux系統(tǒng)上運行的所有東西都可以稱之為一個進程。例如,一個簡單的helloworld程序,在終端上輸入ls命令等等。
一個正常運行的進程稱之為作業(yè),一個作業(yè)可以啟動多個進程,例如作業(yè) ls -lrt | grep *.txt 就啟動了兩個進程。
進程和作業(yè)相關的命令主要有:kill、disown、wait、fg、bg、jobs
fg、bg、jobs只接受作業(yè)號為參數(shù)。
kill、disown、wait即可接受作業(yè)號為參數(shù),又可接受進程號為參數(shù)。
jobs 命令顯示了當前 shell 環(huán)境中已啟動的作業(yè)狀態(tài)。
[alex@cgdp alex]$ sleep 100& [1] 6273 [alex@cgdp alex]$ ps PID TTY TIME CMD 6230 pts/0 00:00:00 bash 6273 pts/0 00:00:00 sleep (待刪除的進程) 6274 pts/0 00:00:00 ps [alex@cgdp alex]$ kill -9 6273 [alex@cgdp alex]$ ps PID TTY TIME CMD 6230 pts/0 00:00:00 bash 6275 pts/0 00:00:00 ps [1]+ Killed sleep 100 (進程已被刪除) disown命令可以用來刪除作業(yè) [alex@cgdp alex]$ ls -l | sleep 200& [1] 6326 [alex@cgdp alex]$ jobs [1]+ Running ls --color=tty -l | sleep 200 & [alex@cgdp alex]$ disown %1 [alex@cgdp alex]$ jobs [alex@cgdp alex]$
kill命令可以用來終止一個進程
fg命令把后臺運行的作業(yè)放到前臺運行,bg重啟一個掛起的作業(yè)。
可以用 CTRL+z 將當前進程掛起到后臺暫停運行,執(zhí)行一些別的操作,然后再用 fg 來將掛起的進程重新放回前臺(也
可用 bg 來將掛起的進程放在后臺)繼續(xù)運行。
wait命令停止腳本的運行,直到后臺運行的所有作業(yè)都結束為止,或者直到指定作業(yè)號或進程號為選項的作業(yè)結束為止.可
以使用wait 命令來防止在后臺作業(yè)沒完成(這會產(chǎn)生一個孤兒進程)之前退出腳本.
例如:
寫一個簡單的腳本test
#!/bin/sh ls -l& echo "done"
運行:
alex@cgdp shell]$ ./test done [alex@cgdp shell]$ total 4 -rwxrwxr-x 1 alex alex 30 May 5 21:15 test
使用wait命令重寫腳本test
#!/bin/sh ls -l& wait echo "done"
運行:
[alex@cgdp shell]$ ./test total 4 -rwxrwxr-x 1 alex alex 35 May 5 21:19 test done
以上是“Linux中進程與作業(yè)的區(qū)別有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!