我的系统无需任何操作,通电即可启动,并在启动结束时通过配置文件归档/etc/init。这将启动启动软件的脚本。该脚本将等待最后一个应用程序退出(其他应用程序已经退出),然后尝试停以便可以安全关闭计算机。
我无法做到停工作。如果计算机没有正确关闭,它可能下次供电时就会挂起,因为它似乎永远在等待响应。
我尝试编辑/etc/sudoers允许/sbin/halt为了不需要密码,尝试使用包含命令的脚本执行相同操作/sbin/halt但什么都不起作用;最后一个应用程序运行、退出,然后什么都没有发生。
如何编写脚本来自动停机器?
/etc/init conf文件:
description "Copies fireimager executeables to the ram disk and executes them."
author "Robert Lockwood"
start on net-device-up
stop on shutdown
script
echo "[`date`] Fireimager initializing Started" >> /var/log/fireimager.log
exec /home/programmer/bin/init/inittest
end script
/home/programmer/bin/init/inittest (片段)
#!/bin/bash
# this script is extecuted by root when the interfaces become active.
# when the last application shuts down the computer is commanded to shut down.
# start the micro-server
su -c "/home/programmer/bin/startServer &" user-name password -
# start fireimager controller
su -c "/home/programmer/bin/startController" user-name password -
# following appears in the log
echo "[`date '+%a %b %2d %T.%3N %Z %Y'`] Starting poweroff" >> /var/log/fireimager.log
# when the controller shuts down, then poweroff FAILS
su -c "sudo /home/programer/bin/halt" user-name password -
~/bin/halt 脚本
#!/bin/bash
# This should halt the computer
/sbin/halt
答案1
由于你已经是 root 了,因此不需要复杂的
su -c "sudo /home/programer/bin/halt" user-name password -
把事情简单化
/sbin/halt