¿Puedo modificar o eliminar preventivamente una parte de la ejecución del comando bash compuesto separado por ;?

¿Puedo modificar o eliminar preventivamente una parte de la ejecución del comando bash compuesto separado por ;?

Estoy ejecutando varios comandos bash separados por punto y coma:

% long-running-command-I-want ; another-command-I-dont

El long-running-command-I-wanttodavía está funcionando; Naturalmente, todavía no hay pidninguno another-command-I-dont. Me gustaría matar/cancelar/impedir de forma preventiva la ejecución another-command-I-dontsin matar lo long-running-command-I-wantque he estado esperando por un tiempo. ¿Puedo hacer eso? ¿Si es así, cómo?

Respuesta1

Si ejecuta otro shell, puede averiguar el PID del bashque 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 fgo bg, dependiendo de si desea que continúe en primer plano o en segundo plano.

información relacionada