Как остановить систему с помощью сценария без ввода данных пользователем?

Мои системные бездисплейные выполнения, запускается, когда питание подано, и в конце начальной загрузки автоматически запускает некоторое программное обеспечение через .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
0
задан 17 July 2015 в 21:38

1 ответ

Так как Вы уже - корень, вместо сложного

su -c "sudo /home/programer/bin/halt" user-name password -

сохраняют это простым

/sbin/halt
1
ответ дан 4 October 2019 в 00:15

Другие вопросы по тегам:

Похожие вопросы: