我有一个长时间运行的命令,但忘记添加&& shutdown
它了。有什么方法可以在命令执行完成后关闭正在运行的 PC 吗?
答案1
首先用 找到对应的pid pgrep
,然后运行:
while kill -0 pid; do sleep 5; done; shutdown
来自手册页kill
:
如果信号为 0,则不会发送实际信号,但仍会执行错误检查。
因此 while 循环的条件保持为真直到该命令终止。
答案2
这个 while 循环会command
每 10 秒检查一次后台是否有任何正在运行的进程,如果没有发现,则会启动 +5 分钟的关机计数,你可以使用以下命令取消该计数shutdown -c
$ while true; do \
(($(pgrep -c command) > 0)) && \
sleep 10 || { shutdown +5; exit 0; }; done &