搜索nohup
nohup
nohup 命令
用途:LINUX命令用法,不掛斷地運行命令。
語法:nohup Command [ Arg ... ] [ & ]
描述:nohup 命令運行由 Command 參數和任何相關的 Arg 參數指定的命令,忽略所有掛斷(SIGHUP)信號。在注銷後使用 nohup 命令運行後台中的程序。要運行後台中的 nohup 命令,添加 & ( 表示「and」的符號)到命令的尾部。
如果不將 nohup 命令的輸出重定向,輸出將附加到當前目錄的 nohup.out 文件中。如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。如果沒有文件能創建或打開以用於追加,那麼 Command 參數指定的命令不可調用。如果標准錯誤是一個終端,那麼把指定的命令寫給標准錯誤的所有輸出作為標准輸出重定向到相同的文件描述符。
退出狀態:該命令返回下列出口值:
126 可以查找但不能調用 Command 參數指定的命令。
127 nohup 命令發生錯誤或不能查找由 Command 參數指定的命令。
否則,nohup 命令的退出狀態是 Command 參數指定命令的退出狀態。
nohup命令及其輸出文件
nohup命令:如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。nohup就是不掛起的意思( n ohang up)。
該命令的一般形式為:nohup command &
使用nohup命令提交作業
如果使用nohup命令提交作業,那麼在預設情況下該作業的所有輸出都被重定向到一個名為 nohup.out的文件中,除非另外指定了輸出文件:
nohup command > myout.file 2>&1 &
在上面的例子中,輸出被重定向到myout.file文件中。
使用 jobs 查看任務。
使用 fg %n 關閉。
另外有兩個常用的ftp工具ncftpget和ncftpput,可以實現後台的ftp上傳和下載,這樣我就可以利用這些命令在後台上傳和下載文件了。
Ⅱ linux後台執行命令:&和nohup的用法,確實很實用
當我們在終端或控制台工作時,可能不希望由於運行一個作業而佔住了屏幕,因為可能還有更重要的事情要做,比如閱讀電子郵件。對於密集訪問磁碟的進程,我們更希望它能夠在每天的非負荷高峰時間段運行(例如凌晨)。為了使這些進程能夠在後台運行,也就是說不在終端屏幕上運行,有幾種選擇方法可供使用。
& :當在前台運行某個作業時,終端被該作業占據;可以在命令後面加上& 實現後台運行。例如:sh test.sh &
適合在後台運行的命令有f i n d、費時的排序及一些s h e l l腳本。在後台運行作業時要當心:需要用戶交互的命令不要放在後台執行,因為這樣你的機器就會在那裡傻等。不過,作業在後台運行一樣會將結果輸出到屏幕上,干擾你的工作。如果放在後台運行的作業會產生大量的輸出,最好使用下面的方法把它的輸出重定向到某個文件中:
這樣,所有的標准輸出和錯誤輸出都將被重定向到一個叫做out.file 的文件中。
PS:當你成功地提交進程以後,就會顯示出一個進程號,可以用它來監控該進程,或殺死它。(ps -ef | grep 進程號 或者 kill -9 進程號)
nohup:使用&命令後,作業被提交到後台運行,當前控制台沒有被佔用,但是一但把當前控制台關掉(退出帳戶時),作業就會停止運行。nohup命令可以在你退出帳戶之後繼續運行相應的進程。nohup就是不掛起的意思( no hang up)。該命令的一般形式為:
如果使用nohup命令提交作業,那麼在預設情況下該作業的所有輸出都被重定向到一個名為nohup.out的文件中,除非另外指定了輸出文件:
使用了nohup之後,很多人就這樣不管了,其實這樣有可能在當前賬戶非正常退出或者結束的時候,命令還是自己結束了。所以在使用nohup命令後台運行命令之後,需要使用exit正常退出當前賬戶,這樣才能保證命令一直在後台運行。
ctrl + z :可以將一個正在前台執行的命令放到後台,並且處於暫停狀態。
Ctrl+c :終止前台命令。
jobs: 查看當前有多少在後台運行的命令。 jobs -l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated。但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識。
2>&1解析:
擴展鏈接:如何寫高效的代碼,和代碼優化方法
Ⅲ linux後台運行、關閉、查看後台任務常用命令
一、&
加在一個命令的最後,可以把這個命令放到後台執行,如:
[root@bqh-01 ~]# watch -n 3 "sh 1.sh " #每3s在後台執行一次 1.sh 腳本
二、ctrl + z
可以將一個正在前台執行的命令放到後台,並且處於辯譽暫停狀態。
三、jobs
查看當前有多少在後台運行的命令
jobs -l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated。但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識。
將後台中的命令調至 前台 繼續運行。如果後台中有多個命令,可以用fg %jobnumber(是命令編號,不是進程號)將選中的命令調出。
五、bg
將一個在後台暫停的命令,變成在 後台 繼續執行。如果後台中有多個命令,可以用bg %jobnumber將選中的命令調出。
六、kill
****
前台進程的終止:Ctrl+c
****七、 nohup
如果讓程序始終在後台執行,即使關閉當前的終端也執行(之前的&做不到),這時候需要nohup。該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。關閉中斷後,在另一個終端jobs已經無法看到後台跑得程序了,此時利用ps(進程查看命令悔森)
<pre style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">ps -aux | grep "1.sh" #a:顯示所有程序 u:以用戶為主的格式攜前段來顯示 x:顯示所有程序,不以終端機來區分</pre>
Ⅳ linux 運行命令
1、編輯文件vi,按下i進行編輯,保存結束。編輯 ESC :wq回車,不保存結束。編輯 ESC :q回車。
2、在Linux系統下執行文件我們需要使用的的文件名sh,假如我們需要執行host.sh文件,我們需要進入文件所在目錄接著執行。