Como parar o sistema via script sem entrada do usuário?

0

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
    
por Nate Lockwood 17.07.2015 / 20:38

1 resposta

1

Desde que você já é root, em vez do complicado

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

mantenha isso simples

/sbin/halt
    
por glenn jackman 18.07.2015 / 01:29