Desde que você já é root, em vez do complicado
su -c "sudo /home/programer/bin/halt" user-name password -
mantenha isso simples
/sbin/halt
Meu sistema roda sem cabeça, começa quando a energia é aplicada e, no final da inicialização, inicia automaticamente algum software através de um arquivo .conf em / etc / init . Isso inicia o script que inicia o software. O script aguarda até o último aplicativo sair (os outros já terão saído) e, em seguida, tenta parar o computador para que ele possa ser desligado com segurança.
Não consigo fazer o parar funcionar. Se o computador não for desligado corretamente, poderá ser interrompido na próxima vez que a energia for fornecida, já que aparentemente ele espera uma resposta para sempre.
Eu tentei editar o / etc / sudoers para permitir / sbin / halt não requerer uma senha, tentei fazer o mesmo com um script contendo o comando / sbin / halt mas nada funcionou; o último aplicativo é executado, sai e, em seguida, nada acontece.
Como um script pode ser formado para automaticamente parar a máquina?
/ etc / init conf file:
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 / programador / bin / init / inittest (fragmento)
#!/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 -
script ~ / bin / halt
#!/bin/bash
# This should halt the computer
/sbin/halt
Desde que você já é root, em vez do complicado
su -c "sudo /home/programer/bin/halt" user-name password -
mantenha isso simples
/sbin/halt