OS X elimina processos terminais

0

Estou confuso com o fechamento de aplicativos de terminal no OS X. Por que os processos não são eliminados após o fechamento do aplicativo do terminal? Por exemplo eu chamo intérprete python e depois fecho com ctrl + z e quando tento fechar terminal ele me pergunta sobre a execução de processos python. Desculpe por russo na imagem, mas você pode ver dois processos python (eu chamei isso duas vezes).

É muito chato, especialmente quando você está trabalhando com a porta serial usando o minicom, por exemplo. Você tem que matar o processo manualmente após cada chamada. Existe uma maneira de matá-los automaticamente?

    
por Юрий Камнев 16.08.2016 / 02:31

1 resposta

3

Quando você pressiona Ctrl + z , está enviando um sinal SIGTSTP ("terminal") para um processo atualmente em execução em primeiro plano. Isso faz com que o processo suspenda sua operação, no entanto, o processo ainda permanece na memória.

Você pode retomar um processo suspenso com os comandos fg (em primeiro plano) ou bg (em segundo plano).

Para matar um processo, você precisa enviar um sinal SIGINT ("interrupção") que você pode fazer pressionando Ctrl + c ou um SIGKILL de outro processo ( kill -s SIGKILL <pid> ).

Why processes are not killed after closing terminal app?

Eles realmente são mortos e você está vendo uma mensagem de aviso de que os processos suspensos serão eliminados quando você fechar o aplicativo.

    
por 16.08.2016 / 03:42