Esqueci de adicionar regularmente && shutdown -h now
a um processo de execução demorada. Existe alguma maneira de adicionar um shutdown -h now
comando depois que o primeiro comando foi chamado? Não se destina a interromper o processo em andamento. Talvez seja possível assistir ao PID?
command-line
bash
shutdown
process
brubaker
fonte
fonte
&&
será executado apenas se o comando anterior tiver sido bem-sucedido. Se você deseja que ele seja executado, mesmo que o comando falhe, use-o;
.Respostas:
Não é necessário executar ps repetidamente para listar todos os processos e grep na saída. Faça o plano de fundo do processo com ctrl-Z e execute
Se você tiver outros trabalhos em segundo plano em execução, receberá uma especificação de trabalho diferente em vez de [1] quando você pressionar Ctrl-z. Se sim, use isso em seu lugar.
fonte
Você pode fazer algo assim, que verificará se o processo está sendo executado a cada 5 segundos e tomará as ações apropriadas:
Observe os colchetes na
grep
expressão. Isso é para garantir que ogrep
processo não seja correspondido se ele terminar naps
lista. É possível cercar qualquer caractere único entre colchetes.fonte
Eu faço isso toda hora.
&&
comando.fg && shutdown -h now
para:Como alternativa, você pode pesquisar como sugerido em outras respostas como esta:
fonte
Se você conhece o pid, pode executar o seguinte:
Para executar sem eco do ps, faça o seguinte:
E, finalmente, executá-lo em segundo plano sem nenhuma saída:
A solução de Scott é boa, mas isso elimina a necessidade
grep
repetidamente, se você já conhece o pid. E é muito mais rápido digitar.: Pfonte
Faça um script de shell para executar os dois processos:
MyShellScript.txt:
Depois de salvar isso no diretório em que você inicia o processo especificado, faça um:
Então, quando você quiser executar o comando, basta digitar
./MyShellScript.txt
e ele fará as duas coisas por você.fonte