linux下通過定時任務清理卡死的程序

2021-08-23 12:25:08 字數 1297 閱讀 3318

前言

今天收到訊息說伺服器一直被卡死,原因是由於大量轉pdf的程序執行後一直沒有自動關閉導致的。所以,為了解決動不動卡死的問題,決定弄乙個定時任務,定時自動清理卡死的特定程序。

實現步驟

1、首先新建killprocess.sh指令碼,指令碼內容為查詢對應的卡死程序並查殺

#!/bin/sh

#判斷是否輸入引數,如果沒有,則提示,並結束指令碼

if [ ! -n "$1" ] ;then

echo

"請輸入引數(需要查殺的程序名,允許模糊查詢)"

exit

1else

echo

"需要查殺的程序名為: $1"

fi#查詢對應的程序並查殺

name=$1

echo

$name

id=`ps aux | grep "$name" | grep -v grep | awk ''`

echo

$idecho

"---------------"

for id in

$iddo

kill -9

$idecho

"killed $id"

done

echo

"---------------"

如果需要先自行測試,可以注釋kill命令,控制台列印結果,執行指令碼命令為:

bash killprocess.sh
2、root使用者下,給檔案賦予可執行許可權
chmod -r 777 killprocess.sh
3、在/etc/crontab檔案最後新增定時任務
*/5 * * * * root ./data

/back_up/killprocess.sh

4、最後重啟crontab服務讓新配置的定時任務生效
service crond restart
常見定時任務
每五分鐘執行   */5 *

* * *

每小時執行 0 * *

* *每天執行 0 0 * * *

每週執行 0 0 * * 0

每月執行 0 0 1 * *

每年執行 0 0 1 1 *

參考資料

補充一下查詢卡死的殭屍程序命令

ps -a

-ostat,ppid,pid,cmd | grep -e

'^[zz]'

Linux 定時任務清理日誌

查詢歷史日誌命令 find opt tomcat7 logs mtime 15 name log 新建檔案 sudo vi opt delete log.sh 更改檔案歸屬 許可權 sudo chown tomcat7 root delete log.sh sudo chmod x delete l...

linux 定時任務 清理檔案

刪除 opt jenkins test builds 目錄下面 9天以前 名稱為 1 9 的目錄 find opt jenkins test builds type d mtime 9 name 1 9 exec rm rf type d 表示目錄 find命令 匹配符 建立指令碼 touch op...

linux定時任務之清理tomcat下的日誌

1 在tomcat demo資料夾下建立乙個clear tomcat log.s 件 輸入命令 touch clear tomcat log.sh 3 使用vi命令開啟這個檔案 輸入命令 vi clear tomcat log.sh 4 在clear tomcat log.s 件下追加如下資訊 刪除...