我正在编写一个Java应用程序来远程关闭我的Linux机箱。
桌面应用程序位于等待命令发送给它。我尝试使用“shutdown -h”,但这需要sudo权限,不是一个选项。然后我找到了一种使用以下dbus-send解决方案在没有sudo的情况下关闭的方法:
dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
这样可以正常工作,但我想弄清楚,使用dbus-send,如果它可以进行类似于“shutdown 3600”的定时关机,这会在1小时内关闭计算机?
干杯
EEF
答案 0 :(得分:7)
HAL,您正在调用的函数,不提供此功能。但是如果你要启动一个外部命令,你总是可以选择这样的东西:
sh -c "sleep 1h; dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown"