[Linux] Qui est le travail d'arrière-plan! ??

En étudiant Linux, j'ai essayé de me déconnecter ... Quelqu'un était hors de vue et je n'ai pas pu me déconnecter. J'ai rencontré un travail de fond là-bas, alors je l'ai recherché et je l'ai résumé. [Environnement] Etudier avec Cygwin     Version 3.1.4-1

Qu'est-ce qu'un travail d'arrière-plan en premier lieu?

Fond = lieu invisible Job = traitement

∴ Traitement effectué invisible aux humains

Pourquoi besoin

Avant cela, l'introduction des emplois

Les travaux actifs sont affichés dans une liste avec ces travaux de commande magique.

Le point de vue de Job


$ jobs    #liste
$ jobs -l #L'ID de processus [PID] est également affiché
$ jobs -p #Afficher uniquement l'ID de processus [PID]
$ jobs -r #Fonctionnement(running)Afficher le processus uniquement
$ jobs -s #Arrêt(stopped)Afficher le processus uniquement

Comment compter les emplois



$ sleep 120 #Ceci est 1 emploi
$ sleep 10 & echo “I’m a job“ #C'est aussi 1 emploi
$ echo “I’m a echo” && echo “me too“ #C'est aussi 1 emploi

Les emplois sont à l'avant et à l'arrière

Travail de premier plan sur la scène avant

Si vous l'exécutez normalement, il sera exécuté en tant que travail de premier plan. En d'autres termes, la partie du travail qui peut être vue à l'avant. Je peux voir le travail (travail que je dois surveiller) = je ne peux pas faire d'autres travaux

∴ Aucune autre tâche ne peut être effectuée car le shell est arrêté pendant l'exécution de la tâche de premier plan.

Travail de premier plan


$ sleep 120 #Regardez pendant 120 secondes

Travail d'arrière-plan

Si vous exécutez une tâche en arrière-plan en arrière-plan, vous pouvez exécuter une autre tâche. Mais comme je suis dans les coulisses, je ne reçois aucun signal du clavier.

∴ Le travail et le shell sont exécutés en même temps pendant l'exécution en arrière-plan

Travail d'arrière-plan


$ sleep 120 & 
#&Courir en arrière-plan avec

& Est un miso.

Pourquoi est-ce nécessaire

Étant donné que les humains ne peuvent effectuer que des tâches uniques, nous demandons aux PC le multitâche. Par exemple, vous ne pouvez pas lire en lavant la vaisselle. Par conséquent, vous pouvez lire pendant que vous êtes lavé au lave-vaisselle. Comme.

Essayez en fait

5 emplois GO!


$ sleep 120
#ctrl+Annulation du travail avec z
$ sleep 120 &
$ sleep 120 &
$ sleep 120 &
$ sleep 120 &

Liste d'emplois


$ jobs #Affichage de la liste
[1]+Arrêter de dormir 120
[2]Sommeil courant 120&
[3]Sommeil courant 120&
[4]Sommeil courant 120&
[5]-Sommeil courant 120&
# +Le travail est-il en cours d'exécution
# -Le travail qui a été exécuté immédiatement avant

Comment arrêter

Vous pouvez l'exécuter, mais si vous essayez de vous déconnecter pendant qu'il s'exécute en arrière-plan, vous serez bloqué. Il y a deux façons de s'arrêter ici

  1. Tuez le processus avec la commande kill
  2. Utilisez la commande fg pour créer un travail au premier plan, puis quittez

1. Tuez le processus avec la commande kill

commande kill



$ jobs -l #-l ID de processus facultatif[PID]afficher

#Confirmez le PID du travail que vous souhaitez terminer
[1]+  1663 Stopped                 sleep 120
[2]1674 Sommeil courant 120&
[3]1675 sommeil en cours d'exécution 120&
[4]1676 Sommeil courant 120&
[5]1677 sommeil en cours d'exécution 120&
[6]1678 Sommeil courant 120&
[8]1680 sommeil en cours d'exécution 120&
[9]1681 Sommeil courant 120&
[10]1682 Sommeil courant 120&
[11]-1683 Sommeil courant 120&

$ kill 1674

#Vérifiez si vous avez terminé
$ jobs -l
[1]+  1663 Stopped                 sleep 120
[2]   1674 Terminated              sleep 120
[3]1675 sommeil en cours d'exécution 120&
[4]1676 Sommeil courant 120&
[5]1677 sommeil en cours d'exécution 120&
[6]1678 Sommeil courant 120&
[8]1680 sommeil en cours d'exécution 120&
[9]1681 Sommeil courant 120&
[10]1682 Sommeil courant 120&
[11]-1683 Sommeil courant 120&

2. Quittez avec la commande fg

Transmettez le numéro de travail à la commande fg et terminez le travail avec ctrl + c.

commande fg


$ sleep 120 &
[2] 1686

$ jobs
[1]+Arrêter de dormir 120
[2]-Sommeil courant 120&

#Transmettez le numéro de travail à la commande fg
$ fg 2
sleep 120
#Ici ctrl+Fin de tâche en C

Travaux arrêtés ...

Le travail qui s'est arrêté avec ctrl + z reste pour toujours. Traité par la résurrection → fin.

-Redémarrez en tant que travail de premier plan avec la commande fg et terminez-le.

commande fg


$ jobs
[1]+Arrêter de dormir 120

$ fg 1 #Transmettez le numéro de travail à la commande fg
sleep 120

$ sleep 120

[1]+Arrêter de dormir 120

#ctrl+Terminer par c

-Redémarrer en tâche de fond avec la commande bg et tuer

commande bg



$ bg 1 #Transmettez le numéro de travail à la commande bg
[1]+ sleep 120 &

$ jobs -l #-l Confirmation PID en option
[1]+1687 sommeil en cours d'exécution 120&

$ kill 1687

$ jobs
[1]+  Terminated              sleep 120

Différence entre processus et travail ...?

kill est l'ID de processus et fg et bg sont les numéros de travail. Quelle est la différence entre un processus et un travail?

[Linux] Fin du processus ou du travail, quel est le meilleur?

Recommended Posts

[Linux] Qui est le travail d'arrière-plan! ??
Celui qui n'est pas sur DVD
Qu'est-ce que Linux
Qu'est-ce que Linux
Qu'est-ce que Linux
L'origine de Manjaro Linux est "Mount Kirimandjaro"
C'est un Mac. Qu'est-ce que la commande Linux Linux?
(Linux débutant) Quel est le mot magique aux?
Quelle est la différence entre Unix et Linux?
Linux est quelque chose comme ça en premier lieu
À quoi sert Linux?
Vérifiez si le câble LAN est déconnecté sous Linux
[Linux] Fin du processus ou du travail, quel est le meilleur?
Qu'est-ce que UNIT-V Linux?
[Linux] Mettez à jour le package hors ligne
Installez JDK sur Linux
Après tout, qui est l'intégration?
Comprendre l'audit du système d'audit Linux
[Linux] Répertoire sous la racine
A quoi sert l'interface ...
Collez le lien sous Linux
Qu'est-ce que la fonction de rappel?
L'image est Namekuji
Sous Linux, l'horodatage d'un fichier est un peu dépassé.
Que faire lorsque l'inode est épuisé sur EC2 Linux