避免終端斷掉,保存回話的方法
阿新 • • 發佈:2017-09-02
避免終端斷掉 保存回話的方法
避免終端斷掉,保存回話的方法
免疫宗
nohup命令
nohup命令可以將程序以忽略掛起信號的方式運行起來,被運行的程序的輸出信息將不會顯示到終端
命令格式
nohup 具體要執行的命令 [ & ]
nohup應用
nohup ping www.baidu.com & [1] 18106 可以使用jobs來查看job ID對應的具體命令 jobs [1]+ Running nohup ping www.baidu.com & 使用fg加上jobID,講後臺命令調用至前臺 fg %1 nohup ping www.baidu.com 如果我們運行了多個nohup,如果都輸入到nohuo.out不方便查找,可以指定輸出文件 nohup ping www.baidu.com >ping_baidu.txt & 標準輸出和錯誤輸出在同一個文件中 nohup ping www.baidu.omc >ping_baidu.txt 2&1 & 如果輸出的結果不重要可以輸出到/dev/null nohup ping www.baidu.com 2>/dev/null 1>&2 & 如何查看後臺運行的結果 nohup rm /tmp/nonexist.file >nohup.out 2>&1 & echo $?
disown命令
如果命令之前忘記加nohup,而命令運行一半,通過作業調度和disown解決 如下所示: ping www.baidu.com >output.txt 這時候忘記輸入nohup 執行 bg把該作業放到後臺 bg %1 jobs 執行disown命令,從作業中移除,不能用jobs查看 disown -h %1 ps -ef | grep ping 可以查看
會話宗
setid命令
setid命令是能夠讓進程在一個新的會話中運行,從而避開當前會話的SIGHUP信號
setid ping www.ibm.com ps -ef | grep www.ibm.com
screen命令
Screen是一款由GNU計劃開發的用於命令行終端切換的自由軟件。用戶可以通過該軟件同時連接多個本地或遠程的命令行會話,並在其間自由切換
命令格式:
screen [-AmRvx -ls -wipe][-d <作業名稱>][-h <行數>][-r <作業名稱>][-s ][-S <作業名稱>]
選項:
-A 將所有的視窗都調整為目前終端機的大小 -d <作業名稱> 將指定的screen作業離線 -h <行數> 指定視窗的緩沖區行數 -m 即使目前已在作業中的screen作業,仍強制建立新的screen作業 -r <作業名稱> 恢復離線的screen作業 -R 先試圖恢復離線的作業。若找不到離線的作業,即建立新的screen作業 -s 指定建立新視窗時,所要執行的shell -S <作業名稱> 指定screen作業的名稱 -v 顯示版本信息 -x 恢復之前離線的screen作業 -ls或--list 顯示目前所有的screen作業 -wipe 檢查目前所有的screen作業,並刪除已經無法使用的screen作業。
常用的screen參數
screen -S yourname -> 新建一個叫yourname的session screen -ls -> 列出當前所有的session screen -r yourname -> 回到yourname這個session screen -d yourname -> 遠程detach某個session screen -d -r yourname -> 結束當前session並回到yourname這個session
screen應用
#創建一個新窗口 screen -S david screen -A -m -d -S screen_ping ping www.baidu.com & # 列出當前會話 screen -ls # 重新連接會話 screen -r 12865
tmux命令
Tmux 是一個工具,用於在一個終端窗口中運行多個終端會話 安裝tmux centos、Redhat、Fedora yum install tmux Ubuntu apt-get install tmux 啟動tmux tmux new -s roclinux 在創建一個新的窗口 ctrl + b鍵同時,然後松開按c鍵 窗口之間的切換 ctrl + b鍵同時,然後松開按0鍵(按相應的數字鍵進行切換) 切斷tmux與辦公電腦的橋梁 ctrl + b鍵同時,然後松開按d鍵 tmux環境消失,只有一行提示 tmux new -s roclinux [detached] 查看tmux狀態 mux ls roclinux: 3 windows (created Sat Sep 2 14:32:27 2017) tmux a -t roclinux
避免終端斷掉,保存回話的方法