Elenca e uccidi ai lavori su UNIX
-
22-07-2019 - |
Domanda
Ho creato un lavoro con il comando at
su Solaris 10.
Funziona ora ma voglio ucciderlo ma non so come posso trovare il numero del lavoro e come uccidere quel lavoro o processo.
Soluzione
Dovresti essere in grado di trovare il tuo comando con una variante ps
come:
ps -ef
ps -fubob # if your job's user ID is bob.
Quindi, una volta individuato, dovrebbe essere semplice usare kill
per terminare il processo (permessi permessi).
Se stai parlando di sbarazzarti dei lavori nella coda at
(che non sono ancora in esecuzione), puoi usare atq
per elencarli e atrm
per sbarazzarsene.
Altri suggerimenti
Per eliminare un lavoro che non è stato ancora eseguito, è necessario il comando atrm
. Puoi usare il comando atq
per ottenere il suo numero nell'elenco at.
Per terminare un lavoro che ha già iniziato a essere eseguito, devi fare un grep per farlo usando:
ps -eaf | grep <command name>
e quindi usa kill
per fermarlo.
Un modo più rapido per farlo sulla maggior parte dei sistemi è:
pkill <command name>
at -l
per elencare i lavori, che restituisce in questo modo:
age2%> at -l
11 2014-10-21 10:11 a hoppent
10 2014-10-19 13:28 a hoppent
atrm 10
uccide il lavoro 10
O almeno così mi ha detto il mio amministratore di sistema, e
Prima
ps -ef
per elencare tutti i processi. Nota il numero di processo di quello che vuoi uccidere. Poi
kill 1234
dove hai sostituito 1234 con il numero di processo che desideri.
In alternativa, se si è assolutamente certi che esiste un solo processo con un nome specifico o si desidera interrompere più processi che condividono lo stesso nome
killall processname