如果我想用 telinit 在 30 分钟内关闭我的系统,我该怎么做?我知道关闭更容易,但只是为了知道它。
使用at:
at now + 30 minutes <<<'telinit 0'
Run Code Online (Sandbox Code Playgroud)
或使用sleep 30m; telinit 0.
telinit本身无法做到这一点。您将不得不结合使用其他工具。at并且sleep两者都允许您取消操作(使用atrmforat和CtrlCfor other)。
# telinit 0
Run Code Online (Sandbox Code Playgroud)
运行级别 0 是停止模式。告诉 init 进入运行级别 0 将导致所有进程被终止,文件系统被卸载,机器停止。这是关闭系统的完全可以接受的方式。在许多笔记本电脑和现代台式电脑上,这也会导致机器关闭。来源
以防万一有人想重新启动:
# telinit 6
Run Code Online (Sandbox Code Playgroud)
运行级别 6 是重启模式。所有进程都将被终止,文件系统将被卸载,机器将重新启动。这是一种完全可以接受的重新启动系统的方法。来源
要在将来执行某些操作,我们有“at”命令。那将是:
# at now+30 minutes <<<'telinit 0'
Run Code Online (Sandbox Code Playgroud)
或睡觉:
# sleep 1800 && telinit 0
Run Code Online (Sandbox Code Playgroud)
(1800 秒)