讓Linux關閉終端(關閉SSH等)後,程式繼續執行
阿新 • • 發佈:2020-11-06
讓Linux關閉終端(關閉SSH等)後,程式繼續執行
tsq2929788912018-05-25 22:11:377125收藏1 分類專欄:ubuntu使用中遇到的問題文章標籤:nohupscreenlinux終端關閉終端程式仍然執行 版權關於為什麼關閉終端後,程式會終止,可以檢視這篇博文:https://blog.csdn.net/gatieme/article/details/52777721
參考2,linux後臺執行命令:&和nohup:https://blog.csdn.net/liuyanfeier/article/details/62422742
大概就是,終端關閉後,系統會發送一個SIGHUP(結束通話訊號),自動地終止在當前會話中執行的程式。
解決方法:
1 . 使用nohup命令
nohup command > myout.file 2>&1 & # 將日誌輸出到myout.file檔案中
nohup command & # 會在當前目錄下建立一個nohup.out檔案,記錄程式執行時在終端產生的輸出
- 1
- 2
2 . 使用 screen命令
step1:按screen,回車進入子介面 step2:./single_model_train_val.sh 執行程式 step3:按ctrl+a再按d,程式會在關閉終端後繼續執行 這樣暫停了子介面,會顯示[detached]的字樣,這時候 我回到了父介面; [detached from 26454.pts-1.A01-R04-I231-16-7280278] step4:screen -ls 檢視子頁面資訊,.pts前面數字為子頁面序號。 (pytorch-v0.3) [root@A01-R04-I231-16-7280278 Consumer]# screen -ls There are screens on: 26454.pts-1.A01-R04-I231-16-7280278 (Detached) 769.pts-1.A01-R04-I231-16-7280278 (Detached) 2 Sockets in /var/run/screen/S-root. 26454是主介面的序號,769是子介面的序號。 step5:screen –r 子頁面序號,這時候就回到之前程式執行的序號。 # 但是實際中我遇到一個問題,在子介面中啟用我自己建立的conda環境,環境變數和主介面不一樣