Come posso uccidere un processo con il suo nome?

41

A volte noto che il processo Python è stato interrotto. Quindi lo ucciderò tramite il Monitor attività e tutto andrà bene.

Vorrei invece uccidere quel processo nel terminale. Tuttavia, cercare PID sembra non essere necessario perché esiste un solo processo con il nome Python .

È possibile uccidere un processo con il suo nome univoco?

    
posta gentmatt 03.03.2012 - 18:51
fonte

5 risposte

49

Dovresti essere in grado di eseguire il comando sudo killall Python .

È necessario eseguire come root perché Python appartiene a root, non all'utente.

    
risposta data 03.03.2012 - 18:59
fonte
19
sudo killall -s SIGINT "process name"

Se non puoi essere un sudo perché chiederà la password e sento che non lo vuoi in una sceneggiatura. pkill come for rescue:)

pkill -9 "process name"
    
risposta data 10.01.2014 - 06:21
fonte
5

Puoi uccidere le applicazioni utilizzando Activity Monitor.app, che è la soluzione della GUI. Sarebbe una semplice "forza smettere". Tuttavia, in alcune situazioni questo non sempre funziona per diversi motivi!

La soluzione da riga di comando, come menzionato nel commento sopra, contiene molte più opzioni per l'utente. sudo killall Python o se è un processo in esecuzione-processo sudo killall /Applications/Whatever.app forza anche il processo a uscire.

Puoi anche forzare la chiusura di un processo utilizzando il PID assegnato. Nel caso di Activity Monitor.app sarebbe kill 25794 o kill -9 25794

Altridettagli:

IlprogrammakillinTerminatorsemplicementeforzal'uscitadaunprogramma,comesefosseuncontrolloremoto.(FunzionaancheconSSHnelMacdaunapostazioneremota.SeguiilcomandokillconilnumeroIDdelprocesso(PIDbreve)delprogrammachevuoiterminare.

Amenochetunonusianchesudo,puoiuccideresoloiprogrammiche"possiedi", quelli in esecuzione sotto il tuo account. (Il sistema operativo stesso-root-è sempre in esecuzione programmi propri, ed è tecnicamente possibile che altre persone, componendo dalla strada, eseguano programmi propri anche mentre stai usando il Mac!)

Il flag -9 è una "uccisione non eliminabile e non ignorabile". In altre parole, è un assassino di forza industriale che non accetta richieste di clemenza dal programma che stai uccidendo.

    
risposta data 03.03.2012 - 20:07
fonte
5

Anche se fa usa PID, trovo che quanto segue sia piuttosto efficiente:

ps aux | grep "String or name of process"

Questa riga restituisce una serie di informazioni sui processi di corrispondenza, e puoi kill o qualsiasi cosa da lì.

    
risposta data 03.03.2012 - 22:12
fonte
1
pkill -f "process name"

Basato sul link

    
risposta data 08.03.2018 - 22:11
fonte

Leggi altre domande sui tag