Comment tuer le processus Linux en utilisant Kill, Pkill et Killall

Comment tuer le processus Linux en utilisant Kill, Pkill et Killall

Le système d'exploitation Linux est livré avec un tuer le commandement Pour mettre fin à un processus. La commande permet de continuer à exécuter le serveur sans avoir besoin de redémarrer après un changement / mise à jour majeur. Voici la grande puissance de Linux et c'est l'une des raisons, pourquoi Linux fonctionne 96.4% des serveurs, sur la planète.

Tuer La commande envoie un signal, un signal spécifié à un processus en cours d'exécution. La commande kill peut être exécutée de plusieurs façons, directement ou à partir d'un script shell.

[Vous pourriez également aimer: trouver les 15 meilleurs processus par utilisation de la mémoire avec «Top» en mode lot]

En utilisant tuer commander de / usr / bin vous fournir une fonctionnalité supplémentaire pour tuer un processus par nom de processus en utilisant pkill.

Tuer l'utilisation du commandement

La syntaxe commune pour tuer le commandement est:

# tuer [signal ou option] pid (s)

Pour un tuer le commandement un Nom du signal pourrait être:

Nom du signal Valeur du signal Comportement Sighup 1 Hangup Sigkill 9 Kill Signal Sigterm 15 terminer

Clairement du comportement ci-dessus, Sigterm est le moyen par défaut et le plus sûr de tuer un processus. Faire un coup de pouce est un moyen moins sûr de tuer un processus que Sigterm. Sigkill est la manière la plus dangereuse parmi les trois ci-dessus, de tuer un processus qui met fin à un processus sans économiser.

Afin de tuer un processus, nous devons connaître l'identifiant de processus d'un processus. UN Processus est une instance d'un programme. Chaque fois qu'un programme commence, automatiquement un Piquer est généré pour ce processus.

Chaque processus dans Linux a un piquer. Le premier processus qui démarre lorsque le système Linux est démarré est le - processus init, Par conséquent, on lui attribue une valeur de '1' dans la plupart des cas.

[Vous pourriez également aimer: tout ce que vous devez savoir sur les processus dans Linux [Guide complet]]

Init est le processus maître et ne peut pas être tué de cette façon, ce qui garantit que le processus maître ne se fait pas tuer accidentellement. Init décide et se permet d'être tué, où la mise à mort n'est qu'une demande de fermeture.

Liste tous les processus Linux en cours d'exécution

Pour connaître tous les processus et en conséquence leur assigné piquer, Exécutez la commande PS suivante.

# ps -a
Échantillon de sortie
Pid tty time cmd 1 ? 00:00:01 init 2 ? 00:00:00 KTHREADD 3 ? 00:00:00 Migration / 0 4 ? 00:00:00 ksoftirqd / 0 5 ? 00:00:00 Migration / 0 6 ? 00:00:00 Watchdog / 0 7 ? 00:00:01 Événements / 0 8 ? 00:00:00 CGROUP 9 ? 00:00:00 Khelper 10 ? 00:00:00 netns 11 ? 00:00:00 async / mgr 12 ? 00:00:00 PM 13 ? 00:00:00 Sync_Supers 14 ? 00:00:00 BDI-DEFAULT 15 ? 00:00:00 Kintegrityd / 0 16 ? 00:00:00 Kblockd / 0 17 ? 00:00:00 kacpid 18 ? 00:00:00 kacpi_notify 19 ? 00:00:00 KACPI_HOTPLUG 20 ? 00:00:00 ATA / 0 21 ? 00:00:00 ATA_AUX 22 ? 00:00:00 KSUSPEND_USBD

Que diriez-vous de personnaliser la sortie ci-dessus à l'aide de la syntaxe comme 'processus pidof'.

# pidof mysqld
Échantillon de sortie
1684

Une autre façon d'atteindre l'objectif ci-dessus est de suivre la syntaxe ci-dessous.

# PS Aux | grep mysqld
Échantillon de sortie
racine 1582 0.0 0.0 5116 1408 ? S 09:49 0:00 / bin / sh / usr / bin / mysqld_safe --datadir = / var / lib / mysql --socket = / var / lib / mysql / mysql.chaussette --pid-file = / var / run / mysqld / mysqld.pid --basaseir = / usr --user = mysql mysql 1684 0.dix.5 136884 21844 ? SL 09:49 1:09 / USR / LIBEXEC / MYSQLD --SONTIRIR = / USR --DATADIR = / VAR / LIB / MYSQL --USER = MYSQL --LOG-ERROR = / VAR / LOG / MYSQLD.log --pid-file = / var / run / mysqld / mysqld.pid --socket = / var / lib / mysql / mysql.Racine de chaussette 20844 0.0 0.0 4356 740 pts / 0 s + 21:39 0:00 grep mysqld 

[Vous pourriez également aimer: comment trouver les 15 meilleurs processus par utilisation de la mémoire dans Linux]

Comment tuer un processus en Linux

Avant de passer en avant et d'exécuter un tuer le commandement, Quelques points importants à noter:

  • Un utilisateur peut tuer tous ses processus.
  • Un utilisateur ne peut pas tuer le processus d'un autre utilisateur.
  • Un utilisateur ne peut pas tuer les processus que le système utilise.
  • Un utilisateur racine peut tuer le processus de niveau système et le processus de tout utilisateur.

Une autre façon d'exécuter la même fonction est d'exécuter le 'pgrep' commande.

# pgrep mysql
Échantillon de sortie
3139

Pour tuer le processus ci-dessus Piquer, Utilisez la commande kill comme indiqué.

Kill -9 3139

La commande ci-dessus tuera le processus ayant piquer=3139, où Piquer est un Valeur numérique du processus.

Une autre façon d'exécuter la même fonction peut être réécrite que.

# Kill -Sigterm 3139

De la même manière 'Kill -9 pid' est similaire à 'tuer -sigkill pid' et vice versa.

Comment tuer un processus dans Linux en utilisant le nom du processus

Vous devez être conscient du nom du processus, avant de tuer et d'entrer dans un mauvais nom de processus peut vous visser.

# pkill mysqld 

Tuez plus d'un processus à la fois.

# kill pid1 pid2 pid3 ou # kill -9 pid1 pid2 pid3 ou # kill -sigkill pid1 pid2 pid3 

Et si un processus a trop d'instances et un certain nombre de processus enfants, nous avons une commande 'tuer tous' ou pkill. Ces deux sont les seules commandes de cette famille, qui prend le nom du processus comme argument en place du numéro de processus.

Syntaxe:
# killall [signal ou option] Nom du processus ou # pkill Nom du processus 

Pour tuer tout Instances MySQL Avec les processus enfants, utilisez la commande comme suit.

# killall mysqld ou # pkill mysqld 

Vous pouvez toujours vérifier l'état du processus s'il est en cours d'exécution ou non, en utilisant l'une des commandes ci-dessous.

# Service MySQL Status ou # Statut SystemCTL MySQL # PGREP MYSQL # PS -AUX | grep mysql 

C'est tout pour le moment, de mon côté. Je serai bientôt là avec un autre sujet intéressant et informatif. Jusque-là, restez à l'écoute, connecté à Tecmint, et bon pour la santé. N'oubliez pas de donner votre rétroaction précieuse Dans la section des commentaires.