Tuer tous les travaux arrêtés Linux

Tuer tous les travaux arrêtés Linux

Dans Linux, un travail fait référence à un processus démarré et géré par le shell. Qui peut être une commande unique, une commande shell longue et complexe comprenant des tuyaux et des redirections, un exécutable ou un script. Chaque travail de Linux est géré en attribuant un travail séquentiel IP associé à un processus spécifique.

Un concept clé à comprendre sur les travaux Linux est leurs statuts. Il y a deux statuts principaux pour les travaux Linux:

  • Premier plan
  • Arrière-plan

Emplois de premier plan

Un travail de premier plan fait référence à une commande ou à un programme exécuté dans le shell et occupe la session du terminal jusqu'à ce qu'il termine. Un exemple serait de lancer un gestionnaire de fichiers ou un navigateur dans le terminal

Par exemple, la capture d'écran suivante montre une fenêtre de terminal avec un travail de premier plan.

Dans l'image ci-dessus, l'invite de coque n'est pas disponible jusqu'à la fermeture de la fenêtre Firefox.

Emplois de fond

L'opposé du premier plan est des travaux de fond. Pour initier un emploi dans le shell comme un travail de fond, nous utilisons le symbole AmperSand (&). L'utilisation indique au shell de mettre toutes les commandes avant l'ampère et en arrière-plan et afficher immédiatement l'invite de shell.

L'exemple ci-dessous montre comment mettre le travail Firefox (dans l'exemple ci-dessus) en arrière-plan.

Comme vous pouvez le voir, l'invite de coquille est maintenant disponible malgré Firefox toujours en cours d'exécution.

Vous remarquerez des valeurs numériques affichées pour les travaux d'arrière-plan. Le premier, indiqué par les crochets ([]), montre l'ID de travail, tandis que l'autre valeur indique le PID du processus associé au travail.

Comment gérer les travaux d'arrière-plan

La commande Jobs gère le contrôle de l'emploi. Cela vous permet de voir les travaux en arrière-plan.

emplois sudo

L'exécution de la commande ci-dessus affiche des travaux d'arrière-plan comme indiqué ci-dessous:

En commençant sur le côté gauche, nous avons l'identifiant du travail.

Suivant immédiatement après les supports, le signe plus (+) ou moins (-). Le signe plus indique qu'il s'agit du travail actuel, tandis que le nombre moins affiche le travail suivant.

Le support suivant montre l'état du travail. Qui peut être exécuté, arrêté, terminé, fait ou sortir avec un code d'état.

Enfin, la dernière partie montre le nom réel du travail.

Montrer des emplois avec PID

Pour afficher des travaux d'arrière-plan avec leurs valeurs PID correspondantes, nous utilisons l'indicateur -l comme:

emplois -l

Cela montrera les travaux d'arrière-plan avec leurs valeurs PID, comme indiqué dans l'image ci-dessous.

Travaux de fond avec sortie

Supposons que nous ayons un travail que nous voulons exécuter en arrière-plan qui vide une sortie à l'écran. Par exemple, dans l'exemple ci-dessus, j'ai mis la commande APT, qui a beaucoup de sortie en arrière-plan, sans gâcher mon terminal.

Pour ce faire, vous pouvez rediriger la sortie dans / dev / null comme:

Mise à jour Sudo apt-get> / dev / null &

Comment apporter un travail de fond au premier plan

Nous pouvons apporter des travaux de fond au premier plan en utilisant la commande fg. Par exemple, pour apporter le travail de Firefox avec un ID de travail de 1 à l'arrière-plan, nous pouvons faire:

fg% 1

Cela apportera le travail au premier plan comme:

ubuntu @ ubuntu20: ~ $ fg% 1
incendier

Options de commande des travaux

La commande Jobs n'a pas beaucoup d'options.

Nous avons déjà discuté du -L pour montrer les emplois avec leurs identifiants de processus.

Les autres options que vous pouvez transmettre à la commande Job incluent:

  • -n - Cela montre les emplois qui ont changé leur statut depuis la dernière notification. Par exemple, un travail qui est passé d'une course à un état arrêté.
  • -p - Ne répertorie que les vélos des emplois.
  • -r -Exécution de travaux uniquement
  • -s - Montre uniquement les emplois arrêtés.

Comment résilier ou tuer des emplois

Nous pouvons résilier des emplois en utilisant la commande kill suivie soit de l'ID de travail, d'une sous-chaîne ou de l'ID de processus.

Tuez en utilisant l'identification de l'emploi

Pour tuer un emploi avec l'ID de travail, nous utilisons le% suivi de la valeur d'ID comme:

tuer %%

Cela tuera le travail actuel; C'est similaire à%+.

Tuer un emploi avec une sous-chaîne

Tuer un emploi avec une sous-chaîne, préfixer la sous-chaîne avec%? suivi de la valeur de la sous-chaîne comme:

tuer %?gnome-calculatrice

NOTE: Linux exécute des travaux simultanément. Cela signifie qu'il saute entre les emplois disponibles jusqu'à ce qu'ils terminent. Par conséquent, mettre fin à une session de terminal avec les emplois en cours d'exécution mettra fin à tous vos emplois.

Vous n'avez pas à vous soucier de cela si vous utilisez un multiplexeur terminal comme TMUX ou Screen, comme vous pouvez les rattacher.

Comment tuer des emplois arrêtés

Pour que nous de tuer tous les emplois arrêtés, nous devons lier deux commandes ensemble. Le premier obtiendra les Pids de tous les emplois arrêtés, et le prochain tuera tous les emplois fournis.

Pour voir les travaux arrêtés, nous utilisons la commande

emplois -s

Cette commande montre tous les travaux arrêtés.

Ayant cela, nous pouvons obtenir les pides des travaux arrêtés et les tuer pour tuer le commandement:

sudo kill -9 'jobs -p -s'

Cela tuera tous les emplois arrêtés.

Conclusion

Ce tutoriel a dépassé les concepts de contrôle de l'emploi à Linux et comment obtenir des informations sur les emplois. Il est bon de noter que le contrôle des emplois peut ne pas être disponible en fonction de votre coquille de choix.

Merci pour la lecture et les coquilles heureuses.