Então, isso não seria um caso de alterar uma linha de comando dada e em execução. Neste caso, o problema dele é dar um poweroff
após o término da execução do comando executado.
Uma das formas de fazer isso é com o comando wait
. Com ele, nós podemos fazer o shell aguardar o término de outro comando antes de executar alguma outra coisa. Por exemplo:
:~$ sleep 60 &
[1] 16087
:~$ wait 16087; echo "terminou"
[1]+ Concluído sleep 60
terminou
:~$
Aqui, o utilitário sleep
ficará em execução em segundo plano por 60 segundos. Antes de seu término, eu utilizei o seu PID com o comando wait
, que só permitirá a execução do comando echo
quando o sleep
terminar.
Caso você não saiba o PID do processo inicial (o tal comando), um ps -C comando
pode ajudar.
Mais sobre o builtin wait
:
:~$ help wait