假设我目前正在运行 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