問題:
你讓工作在後台進行,並且退出
shell
去喝個咖啡,當你回來檢視的時候,發現工作沒有執行並且沒有完成,實際上工作沒有進行多少,跟你離開工作台的時候差不多。
解決方案:
如果你希望在後台執行某個任務,並且在任務完成前退出
shell
,可以使用
nohup
命令:
$ nohup long &
$
討論:當使用
'&'將任務放入後台執行的時候,這個任務依然是
bash shell
程序的乙個子程序。當退出
shell
的時候,
bash
會傳送hangup(hup)
訊號給所有的子程序。這是任務沒有執行的原因。當你退出
bash shell
,bash
的後台任務也都被
kill了。
nohup
命令會使得子程序忽略
hang-up
訊號。但是你仍然可以通過
kill
來殺掉某個程序,
kill
是傳送sigterm
而不是sighup
訊號。但是使用了
nohup
,在bash
退出的時候,就不會關閉你的任務了。
nohup
的提示訊息是告訴你把任務的輸出重定向到了
nohup.out
中,這是非常有用的。通常使用了
nohup
命令之後,你都會關閉掉
shell
,那麼任務的輸出會到**呢?而且重定向到某個不存在目標會出錯。
nohup
會將輸出重定向到當前目錄的
nohup.out
中,你也可以將輸出重定向到其他地方,
nohup
會比較智慧型的區分出來。
sftp 非互動模式 Bash 的4種執行模式
1.在日常使用bash的過程中,老是會遇見通過ssh 連線到伺服器產生環境變數不可用。命令不存在,是不是讓人有點懊惱。2.還有就是在登入armbian的時候會有串資料提示,但是在切換使用者後並沒有這種提示。是如何做到的呢?上面的問題都是由bash的執行模式的不同帶來的現象。4種模是由2種狀態的交叉組...
通過paramiko互動式執行bash 命令
usr bin python coding utf 8 import paramiko 例項化sshclient client paramiko.sshclient 自動新增策略,儲存伺服器的主機名和金鑰資訊,如果不新增,那麼不再本地know hosts檔案中記錄的主機將無法連線 client.se...
ssh執行非互動式命令
如果你想用指令碼自動化登入到某台機子上,然後在上邊執行個命令,怎麼辦呢?可以使用ssh的非互動式命令 ssh zhc hongchangfirst.com home hczhang bin build.sh 這裡可以用expect模擬鍵盤輸入將密碼輸入,也可以用無密碼登入,具體就是將自己的公鑰放在對...