
Eu uso recoll
para indexar arquivos e isso acontece em momentos inoportunos.
Quando eu uso htop
para alterar a visualização para uma visualização em árvore usando F5 e filtrar a lista de processos, vejo um processo mestre em execução e processos filhos abaixo dele. Quando pressiono F9 para escolher uma opção de encerramento, ele parece não responder à SIGTERM
opção, então tenho que usar a SIGKILL
opção.
Existe uma opção para pausar ou parar o processo pai e todos os seus filhos, em vez de eliminá-lo imediatamente?
Responder1
Desde a versão2.0.0
(lançado em 2016), você pode pressionar c
para marcar o processo e seus filhos. Isso é mencionado na ajuda integrada mostrada em h
.
Depois você pode pressionar k
para enviar um sinal aos processos marcados; você verá uma lista de todos os sinais possíveis para escolher.
Responder2
Você pode optar por enviar o sinal SIGTSTP
ou SIGSTOP
:
SIGTSTP
: O sinal é enviado quando você pressiona Ctrl+ Z. Ele irá suspender e parar o processo, você pode retomá-lo usandobg
(retoma em segundo plano) oufg
(retoma trazendo-o de volta para 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 umSIGCONT
sinal.
Responder3
Você pode pressionar Spacepara marcar um processo. O comando kill se aplica a todos os processos marcados.
Não há 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 a recuperação é executada, os processos podem estar em sua própriagrupo de processos. Se estiverem, você pode usar kill -STOP -1234
para suspender todos eles, onde 1234 é o ID do grupo de processos (geralmente, mas não necessariamente, o ID do processo inicial no grupo). Você pode verificar com ps -o pid,ppid,pgid,comm -C recoll
, ps -o pid,ppid,pgid,comm ww | grep -v recoll
para ver se há algum outro processo no grupo de processos. Htop não possui interface para processar grupos.
Se todos os processos forem chamados recoll
, um método mais fácil é filtrar os processos por nome. No htop, use o comando filter para poder marcar facilmente os processos que deseja eliminar. Na linha de comando, execute ps $(pgrep recoll)
para listar os processos correspondentes. Se você estiver satisfeito com a lista, corra pkill -STOP recoll
para suspender esses processos.