Ubuntu 切断自己的电源:断电前该做什么?

Ubuntu 切断自己的电源:断电前该做什么?

我有一台 Ubuntu 文件服务器,我想使用远程控制电源插座来打开/关闭它。我还有一个接收和发送远程控制信号的设备;它通过 USB 连接;我使用辅助程序来发送信号。因此,我没有直接向插座发送关机信号,而是向 Ubuntu 发送关机信号。这个想法是 Ubuntu 启动关机并切断自己的电源。这使我以后能够通过远程控制打开电源插座来启动计算机。

据我所知,理想情况下,切断电源应该在 内完成/etc/rc0.d/S90halt,对吗?但此时,我的辅助程序(可以向插座发送断电信号)已被终止。

我有什么选择?是否可以保持我的远程控制程序运行?S90halt即使磁盘已卸载,我是否可以启动它?

答案1

我找到了一种方法来做到这一点:

在启动时,我将远程控制辅助程序作为 nohup 进程启动。然而,在关机期间,它被杀死S20sendsigs。因此我使用一个新脚本再次启动它,S21remotecontrol该脚本再次使用 nohup。辅助程序启动一个嵌入式 Web 服务器。这样我只需要添加curl http://localhost:8081/poweroffS90halt

我不确定为什么curl实际上可用,S90halt因为此时所有文件系统都应该已卸载。尽管如此,它确实有效。我的解决方法没有用:我添加了一个延迟选项,这样curl可以在卸载之前调用,但会延迟切换命令几秒钟。

重要!辅助程序一定不写入日志文件,因为在关机期间卸载后会失败并可能导致程序崩溃。为了启动帮助程序,我使用:nohup command >/dev/null 2>&1 &

相关内容