Impossibile uccidere il processo mostrato tra parentesi

4

Ho avviato un comando dd piuttosto lungo che vorrei interrompere.

ps mostra:

$ ps
  PID TTY           TIME CMD
 2006 ttys002    0:00.00 (dd)

Il processo dd è mostrato tra parentesi senza l'argomento.

Un kill non produce alcun effetto. Qualche idea su come interromperlo?

    
posta Matteo 26.01.2016 - 07:54
fonte

2 risposte

5

La visualizzazione effettiva di un processo tra (…) significa che questo processo è stato staccato dal suo terminale di controllo (qui ttys002 ). Ciò significa che ^C , ^\ , ^S , ^Z non hanno più alcun effetto su di esso. Si sta comportando in modo daemon . Ciò significa anche che non puoi inviarti un hangup.

Il modo corretto di affrontare questo caso, se indesiderato, è quello di ottenere il numero del suo processo genitore con:

ps lw | egrep '[ ](2006|PID)'

e uccidilo con un segnale hangup:

kill -HUP xxxx

dove xxxx è l'ID del processo genitore.

    
risposta data 26.01.2016 - 12:57
fonte
2

Questo è un processo di zombi . Ecco come eliminarlo da questa risposta su superutente :

Sadly, it appears that killing of zombies is all about killing the parent, and if the parent is /sbin/launchd, you can kill it only with rebooting.

     

Sarebbe una pessima idea uccidere launchd , ma puoi dirlo a HUP.

     

Prova sudo kill -s HUP 1

     

Questo farà sì che launchd si reinizializzi senza riavviare. Questo ha funzionato per me in passato (a parte rimuovere le voci di zombie).

    
risposta data 26.01.2016 - 11:16
fonte

Leggi altre domande sui tag