Como o htop pode ser usado para suspender um processo e todos os seus processos filhos?

3

Eu uso recoll para indexar arquivos e isso acontece em momentos inoportunos.

Quando uso htop para alterar a exibição para uma exibição em árvore usando F5 e filtrar a lista de processos, vejo um processo mestre em execução e processos filho sob ele. Quando eu pressiono F9 para escolher uma opção de terminação, não parece responder à opção SIGTERM , então eu tenho que usar a opção SIGKILL .

Existe uma opção para pausar ou interromper o processo pai e todos os seus filhos em vez de matá-lo imediatamente?

    
por vfclists 21.05.2017 / 09:47

2 respostas

1

Você pode pressionar Espaço para marcar um processo. O comando kill se aplica a todos os processos marcados.

Não existe uma maneira fácil de marcar um processo e seus filhos, mas a visualização em árvore ( t ) deve listá-los de forma contígua.

Dependendo de como o recoll é executado, os processos podem estar em seu próprio grupo de processos . Se estiverem, você poderá usar kill -STOP -1234 para suspendê-los todos, em que 1234 é o ID do grupo de processos (geralmente, mas não necessariamente, o ID do processo inicial do grupo). Você pode verificar com ps -o pid,ppid,pgid,comm -C recoll e, em seguida, com ps -o pid,ppid,pgid,comm ww | grep -v recoll para ver se há outros processos no grupo de processos. O Htop não tem uma interface para processar grupos.

Se todos os processos são chamados de recoll , um método mais fácil é filtrar os processos pelo nome. No htop, use o comando filter, então você pode marcar facilmente os processos que deseja matar. Na linha de comando, execute ps $(pgrep recoll) para listar os processos correspondentes. Se você estiver satisfeito com a lista, execute pkill -STOP recoll para suspender esses processos.

    
por 22.05.2017 / 01:18
0

Você pode optar por enviar o sinal SIGTSTP ou SIGSTOP :

  • SIGTSTP : O sinal é enviado quando você pressiona Ctrl + Z . Ele irá suspender e interromper o processo, você pode resumi-lo usando bg (retoma em segundo plano) ou fg (retoma trazendo de volta para o primeiro plano).

  • SIGSTOP : simplesmente interrompe o processo. Não pode ser ignorado, não pode ser bloqueado. O processo só será retomado se você enviar um sinal SIGCONT .

por 21.05.2017 / 10:34