Listez et tuez les emplois sur UNIX
-
22-07-2019 - |
Question
J'ai créé un travail avec la commande sous
sous Solaris 10.
Cela fonctionne maintenant, mais je veux le tuer mais je ne sais pas comment trouver le numéro de travail ni comment supprimer ce travail ou ce processus.
La solution
Vous devriez pouvoir trouver votre commande avec une variante ps
telle que:
ps -ef
ps -fubob # if your job's user ID is bob.
Ensuite, une fois localisé, il devrait être simple d'utiliser kill
pour tuer le processus (si les autorisations le permettent).
Si vous parlez de supprimer les travaux de la file d'attente en
(qui ne sont pas encore en cours d'exécution), vous pouvez utiliser atq
pour les répertorier et atrm
pour vous en débarrasser.
Autres conseils
Pour supprimer un travail qui n'a pas encore été exécuté, vous avez besoin de la commande atrm
. Vous pouvez utiliser la commande atq
pour obtenir son numéro dans la liste at.
Pour supprimer un travail qui a déjà commencé à être exécuté, vous devez le greper à l'aide de:
ps -eaf | grep <command name>
puis utilisez kill
pour l'arrêter.
Une méthode plus rapide pour ce faire sur la plupart des systèmes est la suivante:
pkill <command name>
en -l
pour répertorier les travaux, ce qui donne un retour comme ceci:
age2%> at -l
11 2014-10-21 10:11 a hoppent
10 2014-10-19 13:28 a hoppent
atrm 10
tue le travail 10
Ou alors mon administrateur système m'a dit, et il
Premier
ps -ef
pour lister tous les processus. Notez le numéro de processus de celui que vous voulez tuer. Puis
kill 1234
avez-vous remplacé 1234 par le numéro de processus souhaité?
Sinon, si vous êtes absolument certain qu'il n'y a qu'un processus portant un nom particulier ou si vous souhaitez supprimer plusieurs processus partageant le même nom
killall processname