Linux 在 30 秒内关机?

Linux 在 30 秒内关机?

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

答案1

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

sudo shutdown -h +1

据我所知,此命令无法指定秒而不是分钟。

您也可以使用-r而不是 来重新启动-h


编辑:

正如您在评论中提到的那样,您可以通过编程添加延迟,然后使用以下命令立即关闭系统

shutdown -h now

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

答案2

简而言之,这样做:(sleep 5 && shutdown now) &

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


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

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

bash -c "sleep 30; shutdown -h now"&

下面是一个带有输出的示例。我使用了 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"

在这个例子中,我做了完全相同的事情,只是我多次按下回车键来向你显示我在睡眠期间处于提示符下。

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

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

答案3

正如指出的那样,该命令

sudo shutdown -h +1

增加一分钟。

如果你想在几秒钟或几小时内或某个非常具体的时间内完成,你可以这样做:

shutdown -h `date --date "now + 60 seconds"`

编辑:以上内容不再适用于较新版本的 Ubuntu。感谢 @zitrax 指出这一点。我的错误,你是对的。

但你仍然可以做到,只是看起来可能要精确到分钟。

sudo shutdown -h `date --date "now + 10 minutes" "+%H:%M"`

当 +m 参数更容易输入时,这有点毫无意义......哦,好吧。

答案4

使用基本调用,我看不出有办法用几秒钟来完成它,但看起来你可以用几分钟来完成它:

time Time is the time at which shutdown will bring the system down and
     may be the word now (indicating an immediate shutdown) or specify
     a future time in one of two formats: +number, or yymmddhhmm,
     where the year, month, and day may be defaulted to the current
     system values.  The first form brings the system down in number
     minutes and the second at the absolute time specified.

换句话说:

shutdown -h +1

如果你想在1分钟内关闭它。

相关内容