web-dev-qa-db-fra.com

Lister et tuer aux travaux sous UNIX

J'ai créé un travail avec la commande at sur Solaris 10.

Cela fonctionne maintenant, mais je veux le tuer, mais je ne sais pas comment trouver le numéro de travail et comment tuer ce travail ou ce processus.

11
soField

Vous devriez pouvoir trouver votre commande avec une variante ps comme:

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 des tâches dans la file d'attente at (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. d'eux.

13
paxdiablo

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 tuer un travail qui a déjà commencé à s'exécuter, vous devrez le rechercher en utilisant:

ps -eaf | grep <command name>

puis utilisez kill pour l'arrêter.

Un moyen plus rapide de le faire sur la plupart des systèmes est:

pkill <command name>
9
Benj

at -l pour lister les jobs, 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 me l'a dit, et

3
user2999323

Première

ps -ef

pour répertorier tous les processus. Notez le numéro de processus de celui que vous souhaitez tuer. ensuite

kill 1234

étiez-vous remplacer 1234 par le numéro de processus que vous souhaitez.

Alternativement, si vous êtes absolument certain qu'il n'y a qu'un seul processus avec un nom particulier, ou si vous voulez tuer plusieurs processus qui partagent le même nom

killall processname
1
bguiz