Linux後台執行 nohup jobs

2021-09-28 20:43:25 字數 1267 閱讀 5766

後台執行

(1)當在前台執行某個作業時,終端被該作業佔據;可以在命令後面加上& 實現後台執行 command &。

(2)但此時如果這個程序有輸出,還是會顯示出來,這又會干擾到我們的shell視窗。所以可以考慮把標準輸出重定向到某個檔案去,如:command >output &

(3)但有時我們會發現後台執行的程序出錯了,我們希望把錯誤資訊也儲存起來。那就用到了linux中預設定義兩個變數:1指標準輸出;2指錯誤輸出,所以寫成這樣:command 1>output 2>error & ,正常的輸出在output檔案裡,錯誤的輸出在error檔案裡。這裡也等同於command >output 2>error &

(4)有時候只想保留一種,另外乙個既不輸出又不儲存,那就用到這個裝置**/dev/null**,所以忽略錯誤輸出:command 1>output 2>/dev/null & ;忽略標準輸出:command 1>/dev/null 2>error &;忽略全部輸出: command 1>/dev/null 2>/dev/null

(5)1,2兩種資訊之間還可以進行重定向,所以這種:command 1>output 2>&1 & 表示錯誤輸出也重定向回標準輸出,即兩種資訊都儲存到output裡。那幹嘛不寫成command 1>output 2>output & 呢?答案是這樣不行,別看都輸出到/dev/null可以,但如果寫成相同的檔名會導致衝突,所以如果想同時保留只能是上面的寫法;同理:忽略全部輸出還可以寫成: command >/dev/null 2>&1 &

(6)這樣的檔案輸出,每次執行會覆蓋現有的檔案,如果我們希望追加而不是覆蓋,那麼就用》符號,這樣命令就是: command 1>>log 2>>error &

(7)這種「後台」程序在shell一直開啟的情況下是沒有問題的,如果我們關了shell視窗甚至退出ssh登入或vnc登入,那麼程序自動就結束了。所以如果想退出視窗乃至退出登入仍然保持程式執行,再加上nohup,形如:nohup command 1>>output 2>>&1 &

檢視後台執行任務

(1)jobs 檢視後台執行的任務 -l 選項可顯示所有任務的pid。

(2)fg 把後台任務調至前台繼續執行,多個任務可以用fg %num(命令編號)將選中的命令調出。

(3)bg 將在後台暫停的命令,繼續執行。多個任務可以用bg %num將選中的命令調出。

(4)ctrl+z 前台執行的任務,進入後台暫停狀態。

(5)kill pid 殺掉任務

Linux後台執行

解除螢幕占用,並且保持命令執行。類似於windows最小化。top 檢視cpu資訊。定位將前面內容定位到後面檔案當中 echo echo aaa 1.txt 把aaa寫到 覆蓋 aaa中 echo 1.txt 可以用來清空檔案 在命令的尾部新增 進行後台執行,命令有返回還是會返回到控制台,先將返回的...

linux命令後台執行

有兩種方式 1.command 後台執行,你關掉終端會停止執行 2.nohup command 後台執行,你關掉終端也會繼續執行 1 root bin rsync.sh 用 jobs 命令檢視正在執行的任務 jobs 1 running root bin rsync.sh 如果想把它調回到前台執行,...

linux程式後台執行

方法 1在終端輸入命令 pso pso.file 2 1 解釋 將 pso直接放在後台執行,並把終端輸出存放在當前目錄下的 pso.file 檔案中。當客戶端關機後重新登陸伺服器後,直接檢視 pso.file 檔案就可看執行結果 命 令 cat pso.file 方法 2在終端輸入命令 nohup....