Eu acho que você pode estar confuso sobre a notação de controle de trabalho. Notavelmente "Parado" significa que um trabalho ainda está ativo, mas que sua capacidade de processar qualquer coisa foi mantida (não é dado tempo algum à CPU para processar nada). Este é efetivamente um estado "Pausa" ou "Suspenso", embora esse não seja o termo técnico correto.
-
Ctrl C não "interrompe" uma tarefa, cancela ou mata. Tecnicamente, faz com que um sinal de interrupção seja enviado para o programa, informando-o para abortar o que está fazendo e sair imediatamente. Alguns programas ouvirão este sinal e farão algum trabalho de limpeza de emergência antes de sair. Outros não responderão ao sinal e serão subseqüentemente abortados.
-
Ctrl Z , por outro lado, "interrompe" um trabalho. Novamente, isso é feito com um sinal, mas desta vez é um sinal de 'parada' em vez de 'interrupção'. Isso efetivamente coloca em espera e retorna o controle para o shell, mas na verdade não mata o trabalho. Se você quiser que esse trabalho continue em execução, poderá emitir um comando
bg
para enviar o último trabalho interrompido para o segundo plano. Em seguida, ele continuará sendo executado como uma tarefa em segundo plano, como se você tivesse executado com&
em primeiro lugar. Você também pode usarfg
para retomar o último trabalho parado em primeiro plano (permitindo que ele continue de onde parou e permitindo que você interaja com ele novamente).