进程、后台进程以及信号
| [ian@echidna ian]$ (date; cat - >bginput.txt; date)& [1] 18648 [ian@echidna ian]$ Fri Nov 11 00:03:28 EST 2005 [1]+ Stopped ( date; cat - >bginput.txt; date ) [ian@echidna ian]$ fg ( date; cat - >ginput.txt; date ) input data Fri Nov 11 00:03:53 EST 2005 [ian@echidna ian]$ cat bginput.txt input data | 
nohup
nohup 命令用于啟動一個命令,它將忽略 hangup 信號并將 stdout 和 stderr 附加到文件。默認文件是 nohup.out 或 $HOME/nohup.out。如果文件不可寫,那么命令將不運行。如果希望將輸出發送到別處,那么對 stdout 或 stderr 進行重定向。
?
top
如果需要多次運行 ps 來查看變化,那么可能需要使用 top 命令。它顯示不斷更新的進程列表,以及有用的總結信息。
?
使用 kill 發送信號
kill 命令向指定的作業或進程發送信號。清單顯示使用 SIGTSTP 和 SIGCONT 信號停止并恢復后臺作業。使用 SIGTSTP 信號相當于使用 fg 命令將作業帶到前臺,然后使用 Ctrl-z 暫停它。使用 SIGCONT 相當于使用 bg 命令。
?
?清單停止并重新啟動后臺作業
| [ian@echidna ian]$ kill -s SIGTSTP %1 [ian@echidna ian]$ jobs -l [1]+ 21709 Stopped nohup sh pmc.sh [2]- 21719 Running nohup bash pmc.sh & [ian@echidna ian]$ kill -s SIGCONT %1 [ian@echidna ian]$ jobs -l [1]+ 21709 Running nohup sh pmc.sh & [2]- 21719 Running nohup bash pmc.sh & | 
?
?
nohup 命令使進程對于 SIGHUP 信號“免疫”。一般情況下,進程可以實現信號處理程序 來捕獲 信號。所以進程可以實現一個信號處理程序來捕獲 SIGINT 或 SIGTERM。因為信號處理程序知道信號已經發送了,它可以選擇采取什么操作,例如忽略 SIGINT,只在收到 SIGTERM 時終止進程。
?
無條件終止進程
某些信號不能被捕獲,比如某些硬件異常。SIGKILL 不能被捕獲,它會無條件地終止進程。一般來說,只有在其他方式都無法終止進程時才需要發送這個信號。
?
?
轉載于:https://www.cnblogs.com/xiaoyixy/archive/2008/08/18/1270582.html
總結
以上是生活随笔為你收集整理的进程、后台进程以及信号的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ASP.NET十分有用的页面间传值方法(
- 下一篇: 【转】如何调整一个 IFrame 到其内
