详解nohup和 区别
一、nohup
nohup 命令運行由 Command參數和任何相關的 Arg參數指定的命令,忽略所有掛斷(SIGHUP)信號。在注銷后使用 nohup 命令運行后臺中的程序。要運行后臺中的 nohup 命令,添加 & ( 表示“and”的符號)到命令的尾部。
nohup 是 no hang up 的縮寫,就是不掛斷的意思。
nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那么可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之后繼續運行相應的進程。
在缺省情況下該作業的所有輸出都被重定向到一個名為nohup.out的文件中。
?
1.1案例:
1.?nohup command > myout.file 2>&1 &? ?
在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
2>&1是將標準錯誤(2)重定向到標準輸出(&1),標準輸出(&1)再被重定向輸入到myout.file文件中。
2.?0 22 * * * /usr/bin/python /home/pu/download_pdf/download_dfcf_pdf_to_oss.py > /home/pu/download_pdf/download_dfcf_pdf_to_oss.log 2>&1
這是放在crontab中的定時任務,晚上22點時候怕這個任務,啟動這個python的腳本,并把日志寫在download_dfcf_pdf_to_oss.log文件中
案例2:
nohup python3 -u socket_test.py >my_socket.log 2>&1 &開啟以后會顯示 進程ID 后面可以利用這個ID殺死后臺進程? 忘記了下面也有辦法查詢
1. 最后一個“&”表示后臺運行程序
2. “nohup” 表示程序不被掛起
3. “python3”表示執行python代碼
4. “-u”表示不啟用緩存,實時輸出打印信息到日志文件(如果不加-u,則會導致日志文件不會實時刷新代碼中的print函數的信息)
5. “socket_test.py”表示python的源代碼文件
6. “my_socket.log”表示輸出的日志文件
7. “>”表示將打印信息重定向到日志文件
8. “2>&1”表示將標準錯誤輸出轉變化標準輸出,可以將錯誤信息也輸出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
?
ps命令
功能:查看當前的所有進程
也可以單獨查詢某個文件開啟的進程
ps -aux | grep "socket_test.py" #a:顯示所有程序 u:以用戶為主的格式來顯示 x:顯示所有程序,不以終端機來區分?
Kill命令
功能:殺死進程
kill 30598?
二、nohup和&的區別
&?: 指在后臺運行
nohup?: 不掛斷的運行,注意并沒有后臺運行的功能,,就是指,用nohup運行命令可以使命令永久的執行下去,和用戶終端沒有關系,例如我們斷開SSH連接都不會影響他的運行,注意了nohup沒有后臺運行的意思;&才是后臺運行
?
&是指在后臺運行,但當用戶推出(掛起)的時候,命令自動也跟著退出
那么,我們可以巧妙的吧他們結合起來用就是
nohup COMMAND &
這樣就能使命令永久的在后臺執行
例如:
1. sh test.sh &??
將sh test.sh任務放到后臺 ,即使關閉xshell退出當前session依然繼續運行,但標準輸出和標準錯誤信息會丟失(缺少的日志的輸出)
將sh test.sh任務放到后臺 ,關閉xshell,對應的任務也跟著停止。
2. nohup sh test.sh??
將sh test.sh任務放到后臺,關閉標準輸入,終端不再能夠接收任何輸入(標準輸入),重定向標準輸出和標準錯誤到當前目錄下的nohup.out文件,即使關閉xshell退出當前session依然繼續運行。
3. nohup sh test.sh ?&?
將sh test.sh任務放到后臺,但是依然可以使用標準輸入,終端能夠接收任何輸入,重定向標準輸出和標準錯誤到當前目錄下的nohup.out文件,即使關閉xshell退出當前session依然繼續運行。
?
參考鏈接
https://blog.csdn.net/u011095110/article/details/78666833
https://baike.baidu.com/item/nohup/5683841
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的详解nohup和 区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构顺序表基本流程
- 下一篇: XPath和lxml类库