机器人从终端运行完毕后,如何自动关闭计算机?

机器人从终端运行完毕后,如何自动关闭计算机?

我想知道如何在机器人完全运行完成后安排计算机关闭。

我在自己的住宅网络中运行一个 Instagram 机器人。它的配置方式是,在完成所有任务后,它就会停止运行。

为了节省能源,我希望我的电脑在机器人停止运行时关闭。例如,当机器人完成时,终端上会出现“会话结束”之类的信息。我希望电脑在此之后关闭。

我见过与此相关的问题,但它们都是根据 torrent 或类似的东西,并且下载完成后计算机就会关闭。

在这种情况下,它只是在终端中运行的某个程序,我希望计算机在该任务完全完成后关闭。

答案1

只需将运算符附加shutdown到命令即可&&&&这将确保系统仅在命令成功退出时关闭。因此您需要运行

your-command && shutdown

答案2

一种方法是:首先,使用 找到正在运行的进程的 PID(进程 ID)pgrep [name of script, or program]

然后编写另一个脚本:

#!/bin/bash
while ps -p $PID; do sleep 1; done ; shutdown -h

将 $PID 替换为实际进程 ID。脚本的作用是:查看具有该 ID 的进程是否仍然存在。如果存在,则休眠一秒钟并再次查看。如果不存在,则继续关闭系统

将其保存(例如myscript.sh),使其可执行(chmod +x myscript.sh)并以 root 权限运行它:sudo myscript.sh。您需要 root 权限才能执行该shutdown命令。

相关内容