安排一个 crontab 在特定进程(使用 PID)完成后关闭机器

安排一个 crontab 在特定进程(使用 PID)完成后关闭机器

假设我目前正在运行 PID = 1234 的进程。

我不知道它要花多长时间才能完成。是否可以安排一个 cron 选项卡来持续检查进程的状态,并在看到进程完成后立即关闭机器?

我是一个相当业余的 shell 脚本编写者,所以我不知道从哪里开始......

答案1

如果您只是查看 PID,crontab 可能不是执行此操作的正确地方。您可能只想编写一个脚本来定期检查,然后关闭机器。在 Linux 上,您可以执行以下操作:

while [ -d /proc/1234 ] ; do
sleep 30; # or however long you want the interval to be
done
/sbin/shutdown -h now

需要以 root 身份运行才能无密码关机。查找 PID 的其他方法可以在这里找到: https://serverfault.com/questions/366474/whats-a-proper-way-of-checking-if-a-pid-is-running

相关内容