如何在运行完非 root 进程后让笔记本电脑关机

如何在运行完非 root 进程后让笔记本电脑关机

我希望能够说:

./run_process.sh; sudo shutdown -P now

但是调用 sudo 会要求我输入密码,然后我的笔记本电脑不会关机,因为它在等待我的密码。如何在输入命令时预先向 sudo 提供密码(但仍可以在没有 sudo 的情况下从我的用户帐户运行 ./run_process.sh)?

答案1

你可以在这里做一些“逆向心理学”:

sudo bash -c "sudo -u dspyz ./run_process.sh; shutdown -P now"

即运行 sudo,然后以您自己(dspyz该系统上的您的用户名在哪里)而不是 root 身份“unsudo”您的进程,然后在原始 sudo 下关闭。

你可以尝试一下看看它会产生什么效果:

sudo bash -c 'sudo -u dspyz id; echo `id`'

其中,id命令显示当前用户的 ID 和 将是您的(即,对于扮演 角色的dspyz第一个 ,其 ID 为,但对于扮演 角色的第二个,其 ID 为)。id./run_process.shrootidshutdown -P now

希望这可以帮助。

相关内容