Linux在30秒内关机?


8

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

Answers:


8

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

sudo shutdown -h +1

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

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


编辑:

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

shutdown -h now

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


嗯 因此不使用小数。我想那很好,我想知道是因为我试图在可以关闭计算机的跨平台Java应用程序上工作。因此,我可以让它休眠30秒钟,然后立即关闭。但是,是否可以sudo shutdown -h在没有故意延迟的情况下关闭计算机?

@icnhzabot sudo shutdown -h now将立即关闭计算机,而不会发出警告。
奥斯丁,

好,谢谢。所以对于root访问我应该做sudo shutdown -h now对吗?
icnhzabot 2011年

@icnhzabot不适用于自动化脚本/程序,因为它会在命令行提示用户输入管理员密码。您必须以root身份运行脚本,然后调用shutdown -h now。如果您需要帮助,则应该提出一个新问题(假设您无法在其他地方找到答案)。另外,如果回答了您的问题,请不要忘记在此处将最佳答案标记为“已接受”。
奥斯丁,

3

使用基本调用,我看不到有一种方法可以用几秒钟来完成,但是看起来您可以用几分钟来完成:

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分钟内将其关闭。


您知道它是否适用于.5吗?

这里有一个错误-该-r选项用于重新启动,而不是关机。您必须-h用于关机。
奥斯丁,

@Austin ugh,修复了该内联。

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参数更容易键入时,这一点没有意义。


不起作用(至少在Linux上是这样),这以不同于预期的格式给出了时间。
Zitrax 2014年

@Zitrax,仅仅因为它在您的情况下不起作用并不意味着它不适用于所有Linux版本。我希望您也注意到反引号`与单引号'不同。我猜这就是为什么它对您不起作用的原因。至少从10.04开始,这绝对适用于所有版本的Ubuntu。而且由于Ubuntu是基于Debian的,因此也可以在Debian上运行。说“不对……进行工作”可能会更具建设性,而不是投下反对票并发表一揽子声明。Linux是一个通用术语,不是版本。但是我实际上认为您输入的是错误的。再试一次。
Matt H

1
我在家用计算机上再次尝试,但该计算机也无法正常工作。我知道反引号的工作原理。所以我已经尝试过Ubuntu 13.10和Kubuntu 13.10。可能是我使用了不同的语言环境?date --date "now + 60 seconds"对于我来说,输出是lör2014年2月22日21:25:03 CET,如果我将其与shutdown一起使用,它会显示“无效的timevalue”(翻译成英文)。因此,您声明您编写的版本在ubuntu的所有版本中都绝对有效的说法完全是错误的。如果我指定日期格式,则可以使用,例如:date --date "now +60 seconds" +%H:%M
Zitrax

尝试切换到英语语言环境,但是也没有用。所以我不确定为什么它对您有用。
Zitrax

必须是您的shutdown命令版本。看起来Ubuntu随附的版本可能有所不同。它由Conanical的Scott Remnant撰写。必须接受更大范围的日期输入值。为我和至少其他3个投票支持的人工作。
Matt H
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.