Мои системные бездисплейные выполнения, запускается, когда питание подано, и в конце начальной загрузки автоматически запускает некоторое программное обеспечение через .conf файл в/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
Так как Вы уже - корень, вместо сложного
su -c "sudo /home/programer/bin/halt" user-name password -
сохраняют это простым
/sbin/halt