用screen 在後台執行程式

2022-09-12 02:42:14 字數 1163 閱讀 6016

運維工作中經常,需要ssh遠端登入到linux 伺服器,執行一些需要很長時間才能完成的任務,由於很多服務進行了基線調整,經常會出現任務沒有執行完成會話就中斷,任務就會被殺掉,一切半途而廢了,這時,我們可以用screen命令解決這個問題

screen是乙個可以在多個程序之間多路利用乙個物理終端的視窗管理器。screen中有會話的概念,使用者可以在乙個screen會話中建立多個screen視窗,在每乙個screen視窗中就像操作乙個真實的telnet/ssh連線視窗那樣。

本文以centos7為例

yum install screen

引數說明

-

a  將所有的視窗都調整為目前終端機的大小。

-d《作業名稱》將指定的screen作業離線。

-h《行數》指定視窗的緩衝區行數。

-m  即使目前已在作業中的screen作業,仍強制建立新的screen作業。

-r《作業名稱》恢復離線的screen作業。

-r  先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業。

-s  指定建立新視窗時,所要執行的shell。

-s《作業名稱》指定screen作業的名稱。

-v  顯示版本資訊。

-x  恢復之前離線的screen作業。

-ls或--

list  顯示目前所有的screen作業。

-wipe  檢查目前所有的screen作業,並刪除已經無法使用的screen作業。

常用

#新建為name的視窗,併入到該視窗中screen -s name#離開會話保留screen會話中的任務或程式ctrl+a d(即按住ctrl,依次再按a,d)#檢視有哪些視窗正在執行

screen -ls

#進入某個視窗screen -r 視窗id#殺死某個視窗(視窗外部)kill -9 視窗id#殺死當前視窗(視窗內部)ctrl a +k#自動清除死去的視窗screen -wipe

linux nohup命令 在後台執行程式

使用經驗 執行某公司的應用 nohup sh run.sh b 0.0.0.0 使用nohup讓程式永遠後台執行 usr local mysql bin mysqld safe user mysql 但是加入我們很多程式並不象mysqld一樣做成守護程序,可能我們的程式只是普通程式而已,一般這種程式...

開機啟動screen並在後台執行其他程式

首先我們需要製作乙個指令碼。在終端下輸入並回車新建指令碼檔案start.sh touch start.sh chmod 777 start.sh 然後向rc.local檔案新增啟動 修改rc.local檔案,在終端輸入並回車 sudo vi etc rc.local在開啟的文字中找到exit 0,在...

screen的用法 在後台執行互動式程式

sudo apt get install screen screen vim a.txt 直接退出後使用 screen ls 1656.pts 0.ubuntu detached screen r 1656 恢復 熱鍵,同時按下ctrl和a鍵結束後,再按下功能鍵 c a 顯示所有鍵繫結資訊 c a ...