1.nohup
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供平遙網(wǎng)站建設、平遙做網(wǎng)站、平遙網(wǎng)站設計、平遙網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、平遙企業(yè)網(wǎng)站模板建站服務,十余年平遙做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
用途:不掛斷地運行命令。
語法:nohup Command [ Arg … ] [ ]
無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。
如果當前目錄的 nohup.out 文件不顫枝可寫,輸出重定向到 $HOME/nohup.out 文件中。
如果沒有文件能創(chuàng)建或打開以用于追加,那么 Command 參數(shù)指定的命令不可調用。
退出狀態(tài):該命令返回下列出口值:
126 可以查找但不能調用 Command 參數(shù)指定的命令。
127 nohup 命令發(fā)生錯誤或不能查找由 Command 參數(shù)指定的命令。
否則,nohup 命令的退出狀態(tài)是 Command 參數(shù)纖洞渣指定命毀悄令的退出狀態(tài)。
2.
用途:在后臺運行
一般兩個一起用
nohup command
eg: nohup echo hello logs/hello.log 21
在命令后面加上可實現(xiàn)后臺運行。使用示例:
但僅使用命令,當關閉控制臺終端時,任務同樣會被終止。
nohup(no hang up)命令,即忽略SIGHUP信號。nohup能保證關閉控制臺終端時,任務不被終止:
關閉控制臺終端后,通過ps查看,easeapi.sh 的父進程由終端進程變成了init進程,即使關閉終端,任務依然能保持運枝纖敗行。nohup命令默認會在當前目錄創(chuàng)建nohup.out文件存儲輸出信息。如果要輸出到指定文件則:
nohup命令雖然簡單,但在一些情況下可能并猛顫不好用。比如,想使用scp命令從需要驗證的服務端下載文件時,直接使用nohup命令并不會出現(xiàn)驗證交互。這種情況下,推薦使用bg/fg命令。
Ctrl + C 和 Ctrl + Z是linux中兩種中斷命令,但作用有不同。Ctrl + C是強制中斷進程,而Ctrl + Z則是暫停任務執(zhí)行。在終端中正常執(zhí)行scp命令,輸入賬戶密碼后,使用Ctrl + Z暫停任務。
jobs命令顯示當前任務狀態(tài)。
可以看到任務已經(jīng)暫停,任務編號為1。
bg/fg將可將任務在前后臺切換。現(xiàn)在將任務切換到后臺:
在通過jobs查看,任務狀態(tài)已豎旅變成了running:
當關閉終端后,任務可能會被終止。可使用disown命令忽略SIGHUP信號。
當我們在終端或控制臺工作時,可能不希望由于運行一個作業(yè)而占住了屏幕,因為可能還有更重要的事情要做,比如閱讀電子郵件。對于密集訪問磁盤的進程,我們更希望它能夠在每天的非負荷高峰時間段運行(例如凌晨)。為了使這些進程能夠在后臺運行,也就是說不在終端屏幕上運行,有幾種選擇方法可供使用。
:當在前臺運行某個作業(yè)時,終端被該作業(yè)占據(jù);可以在命令后面加上 實現(xiàn)后臺運行。例如:sh test.sh
適合在后臺運行的命令有f i n d、費時的排序及一些s h e l l腳本。在后臺運行作業(yè)時要當心:需要用戶交互的命令不要放在后臺執(zhí)行,因為這樣你的機器就會在那里傻等。不過,作業(yè)在后臺運行一樣會將結果輸出到屏幕上,干擾你的工作。如果放在后臺運行的作業(yè)會產(chǎn)生大量的輸出,最好使用下面的方法把它的輸出重定向到某個文件中:
這樣,所有的標準輸出和錯誤輸出都將被重定向到一個叫做out.file 的文件中罩核。
PS:當你成功地提交進程以后,就會顯示出一個進程號,可以用它來監(jiān)控該進物猜掘程,或殺死它。(ps -ef | grep 進程號 或者 kill -9 進程號)
nohup:使用命令后,作業(yè)被提交到后臺運行,當前控制臺兆陪沒有被占用,但是一但把當前控制臺關掉(退出帳戶時),作業(yè)就會停止運行。nohup命令可以在你退出帳戶之后繼續(xù)運行相應的進程。nohup就是不掛起的意思( no hang up)。該命令的一般形式為:
如果使用nohup命令提交作業(yè),那么在缺省情況下該作業(yè)的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:
使用了nohup之后,很多人就這樣不管了,其實這樣有可能在當前賬戶非正常退出或者結束的時候,命令還是自己結束了。所以在使用nohup命令后臺運行命令之后,需要使用exit正常退出當前賬戶,這樣才能保證命令一直在后臺運行。
ctrl + z :可以將一個正在前臺執(zhí)行的命令放到后臺,并且處于暫停狀態(tài)。
Ctrl+c :終止前臺命令。
jobs: 查看當前有多少在后臺運行的命令。 jobs -l選項可顯示所有任務的PID,jobs的狀態(tài)可以是running, stopped, Terminated。但是如果任務被終止了(kill),shell 從當前的shell環(huán)境已知的列表中刪除任務的進程標識。
21解析:
擴展鏈接:如何寫高效的代碼,和代碼優(yōu)化方法
命令后直接加,這渣友個命令就在后臺執(zhí)行;
正在運行的命令,使用Ctrl+z,就掛起;
jobs命令,可以現(xiàn)實后臺,包括掛起的命令;
使用bg?%作業(yè)號?就可以把掛起的命令在后臺執(zhí)行;
使用fg??%作業(yè)號?就可以把鎮(zhèn)局后臺命令調到前臺。如旅槐
新聞標題:后臺運行l(wèi)inux命令的簡單介紹
文章地址:http://vcdvsql.cn/article2/ddpchic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、、網(wǎng)站設計、定制開發(fā)、App設計、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)