
Estoy ejecutando varios comandos bash separados por punto y coma:
% long-running-command-I-want ; another-command-I-dont
El long-running-command-I-want
todavía está funcionando; Naturalmente, todavía no hay pid
ninguno another-command-I-dont
. Me gustaría matar/cancelar/impedir de forma preventiva la ejecución another-command-I-dont
sin matar lo long-running-command-I-want
que he estado esperando por un tiempo. ¿Puedo hacer eso? ¿Si es así, cómo?
Respuesta1
Si ejecuta otro shell, puede averiguar el PID del bash
que está ejecutando el programa que desea continuar. Si es así bashPID
, envíe una señal de interrupción con:
kill -2 bashPID
Esto detendrá la ejecución del resto de la línea de comando.
Opcionalmente, en el shell original puede escribir Ctrl- zpara suspender temporalmente el programa en ejecución en segundo plano. Esto continuaría con el resto de la línea de comando, que será eliminada por la señal de interrupción. Luego puede reanudar el programa en ejecución con fg
o bg
, dependiendo de si desea que continúe en primer plano o en segundo plano.