Linux 在 30 秒内关闭?

icn*_*bot 13 linux mac shutdown bash

简单的问题:可以使用什么参数在 30 秒内关闭运行 Linux/OSX 的计算机?我一直在运行 Windows,我会去那里,shutdown -s -t 30但参数不同。我在这里查过它,但它只会让您在特定时间(例如 8:00)而不是在特定秒数内关闭计算机。

Aus*_*tin 11

在 OS X 中,您可以使用以下命令在一分钟内关闭:

sudo shutdown -h +1

AFAIK,使用此命令无法指定秒而不是分钟。

您也可以使用-r代替重新启动-h


编辑:

正如您在评论中提到的,您可以以编程方式添加延迟,然后立即关闭系统

shutdown -h now

但请注意,该命令将需要 root 访问权限。


shr*_*use 7

简而言之:(sleep 5 && shutdown now) &

注意:该命令会将括号中的所有内容置于后台,该命令将休眠 5 秒,然后立即关闭。


可以获得shutdown命令的第二粒度。

您可以通过后台运行 bash 命令来完成此操作。

bash -c "sleep 30; shutdown -h now"&
Run Code Online (Sandbox Code Playgroud)

这是一个带有输出的示例。我使用 date 命令来说明睡眠的时间。

$ bash -c "date; sleep 5; date"&
[1] 2425

chris@SR-ENG-P18 /cygdrive/c/Projects
$ Tue, Sep 15, 2020  4:30:04 PM
Tue, Sep 15, 2020  4:30:09 PM

[1]+  Done                    bash -c "date; sleep 5; date"
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我做了完全相同的事情,除了我多次按下回车键以向您表明我在睡眠期间处于提示状态。

chris@SR-ENG-P18 /cygdrive/c/Projects
$ bash -c "date; sleep 5; date"&
[1] 2467

chris@SR-ENG-P18 /cygdrive/c/Projects
$ Tue, Sep 15, 2020  4:33:47 PM


chris@SR-ENG-P18 /cygdrive/c/Projects
$

chris@SR-ENG-P18 /cygdrive/c/Projects
$

chris@SR-ENG-P18 /cygdrive/c/Projects
$

chris@SR-ENG-P18 /cygdrive/c/Projects
$

chris@SR-ENG-P18 /cygdrive/c/Projects
$

chris@SR-ENG-P18 /cygdrive/c/Projects
$ Tue, Sep 15, 2020  4:33:52 PM

[1]+  Done                    bash -c "date; sleep 5; date"

chris@SR-ENG-P18 /cygdrive/c/Projects
Run Code Online (Sandbox Code Playgroud)

我会在需要强制关闭的脚本中使用它。

  • 一种解决方法,但与在 shutdown -h + 分钟中使用分钟不同,计时器启动时不会收到关闭消息,并且无法在计时器期间通过 shutdown -c 取消关闭。 (2认同)