2020年5月26日 星期二

【Linux】如何停止正在運行的crontab排程工作 to see and stop current running crontab tasks.

當 crontab排程已開始執行時,可透過以下方式找出執行緒並將運行中的排程停止

經由下面的語法可讓主機目前執行的排程工作可以容易閱讀
ps -o pid,sess,cmd afx | egrep -A20 "( |/)cron( -f)?$"
運行上面程式後會看到類似下面的畫面
1108  1108 cron
4288  1108 \_ CRON
4289  4289     \_ /bin/sh -c /path/to/my/crontab/accesscronjob.php
4290  4289         \_ /bin/bash /path/to/my/crontab/accesscronjob.php
.
.
.

第一欄是PID、第二欄位是Session ID、第三欄則是被排程啟動執行的程式。
若要刪除已經被排程啟動正在運行中的程式,可以藉由Session ID來kill所有相關的排程運行程式。

所以如下圖,若要停止正在運行的accesscronjob.php可以透過pkill語法來kill他的session ID "4289",如下
pkill -s 4289
參考網址

沒有留言: