使用 telinit 在 30 分钟内关闭我的系统

Tha*_*y07 3 telinit runlevel

如果我想用 telinit 在 30 分钟内关闭我的系统,我该怎么做?我知道关闭更容易,但只是为了知道它。

mur*_*uru 5

使用at

at now + 30 minutes <<<'telinit 0'
Run Code Online (Sandbox Code Playgroud)

或使用sleep 30m; telinit 0.

telinit本身无法做到这一点。您将不得不结合使用其他工具。at并且sleep两者都允许您取消操作(使用atrmforatCtrlCfor other)。


Rin*_*ind 5

# 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 秒)