Como posso dizer ao meu laptop para shutodwn depois de terminar a execução de um processo não-raiz

0

Eu gostaria de poder dizer:

./run_process.sh; sudo shutdown -P now

mas a chamada para o sudo pedirá minha senha e meu laptop não será desligado porque está aguardando a minha senha. Como posso pré-fornecer a senha para o sudo quando eu digito o comando (mas ainda executo o ./run_process.sh da minha conta de usuário sem o sudo)?

    
por dspyz 11.07.2013 / 03:22

1 resposta

1

Você pode fazer alguma "psicologia reversa" aqui:

sudo bash -c "sudo -u dspyz ./run_process.sh; shutdown -P now"

i.e. execute sudo, então "unsudo" para o seu processo como você mesmo (onde dspyz é seu nome de usuário no sistema), não como root e, em seguida, desligue sob o sudo original.

Você pode tentar isso para ver o que ele fará:

sudo bash -c 'sudo -u dspyz id; echo 'id''

onde o comando id mostra o ID do usuário atual e será seu (ou seja, o ID dspyz do primeiro id , que desempenha o papel de ./run_process.sh , mas será root para o segundo id , que desempenha o papel de shutdown -P now ).

Espero que isso ajude.

    
por icyrock.com 11.07.2013 / 03:50