De manera regular, me olvido de agregar && shutdown -h now
a un proceso de larga duración. ¿Hay alguna forma de agregar un shutdown -h now
comando después de invocar el primer comando? No tiene la intención de interrumpir el proceso en curso. Tal vez es posible ver el PID?
command-line
bash
shutdown
process
brubaker
fuente
fuente
&&
solo se ejecutará si el comando anterior fue exitoso. Si desea que se ejecute incluso si el comando falla, use;
en su lugar.Respuestas:
No es necesario ejecutar ps repetidamente para enumerar todos los procesos y grep a través de la salida. Ejecute el proceso en segundo plano con Ctrl-Z, luego ejecute
Si tiene otros trabajos en segundo plano en ejecución, se le dará una especificación de trabajo diferente en lugar de [1] cuando presione ctrl-z. Si es así, use eso en su lugar.
fuente
Podría hacer algo como esto, que verificará si el proceso se ejecuta cada 5 segundos y tomará las medidas adecuadas:
Tenga en cuenta los corchetes en la
grep
expresión. Esto es para garantizar que elgrep
proceso no coincida si termina en laps
lista. Rodear cualquier carácter con corchetes es suficiente.fuente
Hago esto todo el tiempo.
&&
comando.fg && shutdown -h now
a:Alternativamente, puede sondear como se sugiere en otras respuestas como esta:
fuente
Si conoce el pid, puede ejecutar esto:
Para ejecutar sin eco desde ps haga esto:
Y finalmente para ejecutarlo en segundo plano sin ningún resultado:
La solución de Scott es buena, pero esto elimina la necesidad de
grep
repetir una y otra vez si ya conoce el pid. Y es mucho más rápido escribir: pfuente
Cree un script de shell para ejecutar ambos procesos:
MyShellScript.txt:
Después de guardar esto en el directorio donde inicia el proceso dado, haga lo siguiente:
Luego, cuando desee ejecutar el comando, simplemente escriba
./MyShellScript.txt
y lo hará por usted.fuente