Pages - Menu

2023年5月19日 星期五

[Linux]關閉ssh連線後,仍可執行程式

睡睡念

怎麼最近都在搞shell script阿…
這次是要把gce的圖片搬到gcs上面,
總計有三萬多張,一般執行時,如果碰到ssh斷線,執行就失敗了,
所以要讓他就算ssh斷線,也仍會執行


正文

目前有兩種方式

  1. nohup
    算是最簡單,容易用的方式,直接 在後面接command就能用了,
    但我禮拜五掛著,然後禮拜一回來看,發現程式掛了,cpu還飆到100,
    就算用 指令找到pid後,強制刪除,還是有command在執行,最後只能重開。
    ps -aux | grep "copyfile.sh"
    kill -9 <PID>

ref. SSH 遠端登出後繼續執行

  1. screen
    yum直接搜尋會找不到package,需要先額外安裝epel-release
yum install epel-release
yum install screen

使用方式

先建立一個screen

screen -S <name>

在screen裡面,執行程式,離開時按

ctrl+a -> ctrl(不放)+d

查看目前有哪些 screen

screen -ls


回到剛剛的screen,可以上面指令看到這個screen的id是58245。

screen -r 58245

ref.

沒有留言:

張貼留言