如果你要執行乙個時間很長的 job 你會怎麼辦?這個問題可以轉變為當乙個任務執行時間非常長,你如何保證作業系統不自動中斷它。答案取決與執行環境,如果是台式電腦 + windows 的桌面系統就注意一下人離開的時候鎖屏,而不要登出使用者或者關機即可;而當你使用 mac 或者遠端連線 linux 的時候要如何處理?我做過一件很傻的事情就是即使要從宿舍走到圖書館也一直把螢幕開著,本想著校園裡處處都有 wi-fi 應該沒事,但連線還是在路上斷開了,導致之前的工作必須重新來過。
要執行這個 job 之前先建乙個 screen:
of your screen]
比如你可以用screen -s my-screen
創立乙個叫」my-screen」的對話,執行你的 job, 然後按下ctrl+a, ctrl+d
(先按+a,再按+d). 你就從那個對話中抽身出來,此時命令行會提示一行 「[detached]「,表示這個 job 已經在後台執行了。
你可以通過
screen -list
來得到建立的所有 screen 的列表,如果要回到某個 screen 就使用screen -r [screen-id]
. 這裡的 id 能夠在 list 中找到 nohup命令和screen命令
我們用遠端終端連線遠端主機的時候,有的程式要首席執行官達幾小時甚至幾天。例如晚上10點半,我在遠端終端上啟動乙個spark程式,有一些結果重定向到標準輸出,這個程式要執行10小時。第二天早上一看,遠端終端斷開了,一看程式執行結果,只執行了3小時就中斷了。通過遠端終端啟動的程式,當遠端終端斷開會話的時...
mysql常用備份命令和shell備份指令碼
備份多個資料庫可以使用如下命令 mysqldump uroot p123456 databases test1 test2 test3 home test dump.sql 恢復備份 source dump.sql 在mysql命令列中輸入該命令即可恢復 備份整個資料庫 mysqldump uroo...
screen命令整理
screen可以看作視窗管理器的命令列版本,因為它是執行在乙個 linux 終端上。在 screen 中啟動的每乙個會話都有乙個 id。可以切換。它的特性 1 可恢復 在遠端登入 linux 的時候,如果終端長時間沒有動作會被機器強制斷線,一旦終端的通訊中斷,那麼這個會話上的所有內容都會丟失。在 s...