終端斷開,任務不斷

終端斷開,任務不斷終端斷開,任務不斷

其實是很常見的需求,但之前一直用"nohup command &"這種方式。

不過有些時候沒有充分估計到某些工作的不靠譜性,以爲很快能搞定的事,就沒用nohup直接執行,當你快要下班了它還遙遙無期。這個時候也可以先ctrl + z從前臺掛起,然後bg讓它跑到後臺去執行,最後再來一個disown -a,這樣就可以放心關了終端早點回家了。下次再用其他終端連接上來之後你的工作仍會在持續執行,但是這時候是不能用fg這樣的命令讓它再回到前臺執行的,jobs也不會顯示它。

如果你想持續看到後臺進程的輸出,以前的辦法就是在運行之前就將它重定向到一個文件,後續回來查看文件即可。但如果進程已經開始執行了,再去重定向就稍微費點勁。網上有些用gdb調的方法,我試了試不是太成功,本來打算繼續看看,結果發現還是老老實實用screen靠譜一點…

其實screen這個命令應該不是什麼新鮮玩意了,也有很多人在使用。不過對我來說還是一個挺有新意的發現。我的一般套路:
新建一個screen並命名爲ftp:

screen -S ftp

此時會直接進入新的bash,這裏搞一些耗時的操作,例如scp等等。
從ftp退回,用快捷鍵ctrl+a d.
這個時候其實就可以關閉當前終端了。新打開一個終端,查看現有screen列表:

screen -ls

看看上傳得怎麼樣了:

screen -r ftp

不但scp的工作沒有中斷,還可以看到scp當前所有輸出,和之前的終端沒有關閉一樣。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章