您好,我们的服务器有一个奇怪的问题,大约每月一次,GS(GhostScript)进程会卡住并占用 10-75% 的 CPU,直到我终止该进程。strace 没有提供任何有用的信息,因此在我能正确解决这个问题之前,我想创建一个脚本,每隔几分钟检查一次并终止任何运行时间超过 5 分钟的 GS 进程。在正常情况下,此过程应在几秒钟到最多一分钟内完成。
在 top 中,命令显示为“GS”。我该怎么做?我假设我需要编写一个 BASH 脚本并将其设置为按间隔运行?该框是一个运行 CentOS 6.5 的 Web 服务器。
谢谢!
答案1
使用 killall 命令如下,将 Process_Name 替换为 GS 进程名称,
killall --older-than 5m Process_Name
创建脚本文件
touch myscript.sh
chmod +x myscript.sh
echo "killall --older-than 5m Process_Name" > myscript.sh
每 5 分钟运行一次脚本,假设 myscript 位于根目录。
echo "*/5 * * * * /root/myscript.sh" >> /etc/crontab