GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Linux killall pour les débutants (8 exemples)

Nous avons déjà discuté de la commande kill que vous pouvez utiliser si vous souhaitez mettre fin à des processus sous Linux. Cependant, il existe un autre utilitaire en ligne de commande que vous pouvez utiliser dans le même but :killall . Dans ce didacticiel, nous aborderons les bases de cette commande à l'aide d'exemples faciles à comprendre.

Mais avant cela, il convient de mentionner que tous les exemples inclus dans ce didacticiel ont été testés sur Ubuntu 18.04 LTS.

Commande Linux killall

La commande killall vous permet de tuer les processus par leur nom. Voici la syntaxe de l'outil :

killall [OPTIONS] name

Et voici comment la page de manuel explique l'outil :

killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent. Signals can be specified either by name (e.g.  -HUP or -SIGHUP) or by number (e.g.  -1) or by option -s.

If  the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be  selected for killing, independent of their name.

killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least one process matched the -u and -Z search criteria. killall returns non-zero otherwise.

A killall process never kills itself (but may kill other  killall  processes).

Les exemples de style Q&A suivants devraient vous donner une meilleure idée du fonctionnement de la commande killall.

Q1. Comment utiliser la commande killall ?

L'utilisation de base de l'outil est très simple - tout ce que vous avez à faire est de passer le nom du processus en argument à killall. Par exemple, pour tuer le gthumb processus qui s'exécutait sur mon système, j'ai utilisé killall de la manière suivante :

killall gthumb

Notez que si vous ne connaissez pas le nom exact du processus, vous pouvez utiliser le ps commande pour récupérer ces informations.

Q2. killall est-il sensible à la casse ?

Oui c'est le cas. Il génère une erreur "aucun processus trouvé" si l'utilisateur n'écrit pas le nom du processus dans la casse correcte. Voici un exemple :

Cependant, si vous le souhaitez, vous pouvez forcer killall à ignorer la casse en utilisant le -I option de ligne de commande.

Q3. Comment faire en sorte que killall demande avant de terminer le processus ?

Supposons que vous souhaitiez que la commande killall demande les autorisations de l'utilisateur avant de tuer un processus, vous pouvez alors utiliser le -i option de ligne de commande. Cela rendra l'opération killall interactive.

Par exemple :

Q4. Comment choisir le signal que killall envoie au processus ?

Par défaut, c'est le signal SIGTERM que killall envoie aux processus. Cependant, vous pouvez également envoyer d'autres signaux. Vous pouvez utiliser les options -s , --signal , et -SIGNAL pour envoyer ces autres signaux.

Cependant, pour que cela fonctionne, vous devez savoir quels signaux la commande killall peut envoyer. Vous pouvez le faire en utilisant le -l option de ligne de commande.

killall -l

Voici la liste de la commande susmentionnée produite sur notre système :

Q5. Comment empêcher killall de se plaindre si le processus spécifié n'existe pas ?

Si le processus dont le nom est passé à "killall" n'est pas en cours d'exécution (n'existe pas), l'outil le transmet à l'utilisateur dans la sortie.

Cependant, si vous ne voulez pas que l'outil produise une telle sortie, vous pouvez utiliser le -q option de ligne de commande.

Ainsi, vous pouvez voir que la commande killall est restée silencieuse lorsque -q a été utilisé.

Q6. Comment tuer tous les processus appartenant à un utilisateur ?

Si l'exigence est de tuer tous les processus appartenant à un utilisateur spécifique, vous pouvez utiliser le -u option fournie par killall. Inutile de dire que l'option vous oblige à spécifier le nom d'utilisateur de l'utilisateur comme entrée.

killall -u [user-name]

Par exemple :

killall -u himanshu

Q7. Comment tuer les processus basés sur le temps ?

Supposons que vous souhaitiez tuer tous les processus en cours d'exécution depuis plus de 5 heures, vous pouvez le faire en utilisant le -o option de la manière suivante :

killall -o 5h

Bien sûr, vous pouvez spécifier des noms de processus si vous ne voulez pas tuer tous les processus. De même, si vous voulez tuer des processus qui ont, disons, moins de 4 heures, vous pouvez le faire en utilisant le -y option de ligne de commande.

killall -y 4h

Voici comment la page de manuel explique ces options :

-o, --older-than
              Match only processes that are older (started  before)  the  time
              specified.   The  time is specified as a float then a unit.  The
              units are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours,  days,
              weeks, Months and years respectively.

 -y, --younger-than
              Match  only  processes that are younger (started after) the time
              specified.  The time is specified as a float then a  unit.   The
              units  are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours, days,
              weeks, Months and years respectively.

Q8. Comment s'assurer que killall ne revient qu'après la mort des processus ?

Une fois le signal envoyé par killall au processus, si vous voulez vous assurer que la commande ne revient qu'après la mort du processus, vous pouvez le faire en utilisant le -w option de ligne de commande, qui force killall à attendre.

killall -w [process-name]

Voici comment la page de manuel décrit cette option :

-w, --wait
              Wait  for  all killed processes to die.  killall checks once per
              second if any of the  killed  processes  still  exist  and  only
              returns if none are left.  Note that killall may wait forever if
              the signal was ignored, had no effect, or if the  process  stays
              in zombie state.

Conclusion

Killall n'est peut-être pas une promenade de santé pour les débutants, mais ce n'est pas non plus très complexe. Vous devez pratiquer les options de ligne de commande qu'il propose. Nous avons discuté de la majorité d'entre eux, donc ce tutoriel devrait être un bon point de départ. Une fois que vous avez terminé, vous pouvez en savoir plus sur la commande en vous rendant sur sa page de manuel.


Linux
  1. 10 exemples de commandes 'rm' pour les débutants Linux

  2. 10 exemples de commandes Linux Cat pour les débutants

  3. Tutoriel de commande cd Linux pour les débutants (8 exemples)

  4. Tutoriel de commande de date Linux pour les débutants (8 exemples)

  5. Exemples de commandes killall sous Linux

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)

Commande de localisation Linux pour les débutants (8 exemples)

16 exemples pratiques de commande Linux LS pour les débutants

Explication de la commande Linux mv pour les débutants (8 exemples)