Comment obtenir le PID du processus en spécifiant le nom du processus et de le stocker dans une variable pour l'utiliser plus?
À l'aide de "ucbps de la commande" je suis en mesure d'obtenir tous les PIDs
$ ucbps
Userid PID CPU % Mem % FD Used Server Port
=========================================================================
512 5783 2.50 16.30 350 managed1_adrrtwls02 61001
512 8896 2.70 21.10 393 admin_adrrtwls02 61000
512 9053 2.70 17.10 351 managed2_adrrtwls02 61002
Je veux le faire comme cela, mais ne savez pas comment faire
- variable=obtenir le pid du processus en processname.
- Ensuite utiliser cette commande kill -9 variable.
Vous devez vous connecter pour publier un commentaire.
Si vous voulez tuer -9 basé sur une chaîne (vous pourriez vouloir essayer de tuer en premier), vous pouvez faire quelque chose comme ceci:
Cela va vous montrer ce que vous êtes sur le point de tuer (très très important) et il suffit de le diriger vers
sh
lorsque vient le temps de l'exécuter:permettra d'obtenir le pid de tous les processus avec le nom donné. Pour tous les tuer, utilisez
De s'abstenir d'utiliser une variable et tuer tous les processus dont le nom est question
-9
, utilisé pour envoyer desSIGKILL
, n'est pas nécessaire, mais mentionné dans la question. Sans elle, la moins violenteSIGTERM
(numéro de Signal 15) sera envoyé.pidArray=(${pids})
Sur une seule ligne...
-f
paramètre pourrait être utile ici ` -f Le motif est normalement seulement mis en correspondance avec le nom de processus. Quand f est définie, la ligne de commande complet est utilisé.`pgrep -f process_name | xargs kill -9
Une autre possibilité serait d'utiliser
pidof
il vient généralement avec la plupart des distributions. Il va vous retourner le PID d'un processus donné en utilisant son nom.Cette façon, vous pouvez les stocker dans une variable et d'exécuter
kill -9
sur elle.utiliser grep [n]ame pour supprimer le grep -v nom c'est le premier... Sec en utilisant xargs dans la manière dont elle est là, c'est mauvais pour rnu ce qu'il est joué, vous avez à utiliser-i ( mode interactif), sinon vous risquez d'avoir des problèmes avec la commande.
ps axf | grep | grep -v grep | awk '{print "kill -9" $1}' ?
ps aux |grep [n]ame | awk '{print "kill -9" $2}' ? n'est-ce mieux ?