Posso modificar ou matar preventivamente uma parte do comando bash composto separado em execução?

2

Estou executando vários comandos bash separados por ponto-e-vírgula:

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

O long-running-command-I-want ainda está em execução; naturalmente não há pid do another-command-I-dont ainda. Eu gostaria de matar antecipadamente / cancelar / impedir a execução do another-command-I-dont sem matar o long-running-command-I-want que eu tenho esperado por um tempo. Posso fazer isso? Se sim, como?

    
por Michael 26.09.2017 / 00:34

1 resposta

3

Se você executar outro shell, poderá descobrir o PID do bash que está executando o programa que deseja continuar. Se isso for bashPID , envie um sinal de interrupção com:

kill -2 bashPID

Isso interromperá a execução do restante da linha de comando.

Opcionalmente, no shell original você pode digitar Ctrl - z para suspender temporariamente o programa em execução em segundo plano. Isso continuaria com o resto da linha de comando, que será liberada pelo sinal de interrupção. Você pode então retomar o programa em execução com fg ou bg , dependendo se deseja continuar em primeiro ou segundo plano.

    
por 26.09.2017 / 00:58