J'ignorais les processus et les emplois, alors j'ai fait des recherches.
Un processus est un programme qui s'exécute en mémoire.
Chaque processus reçoit un ID unique appelé ID de processus, qui permet au processus d'être géré de manière appropriée. L'ID de processus ne change pas tant que le processus n'est pas terminé.
Le processus a un utilisateur d'exécution défini comme le propriétaire du fichier et ne peut pas faire fonctionner les processus d'autres personnes.
Lorsqu'un nouveau processus est créé, un autre processus est créé à partir du processus existant. Le processus d'origine est appelé processus parent et le processus créé est appelé processus enfant. À titre d'exemple concret, lorsque la commande ls est exécutée, le processus parent devient le shell et le processus enfant devient le processus de la commande ls.
Sous Linux, en plus du processus exécuté par l'utilisateur connecté, le processus de gestion du système Linux lui-même est exécuté depuis le début. Beaucoup d’entre eux fonctionnent avec les privilèges de superutilisateur
Une commande qui affiche le processus en cours d'exécution. Lorsqu'il est exécuté sans options, seuls les processus exécutés dans le terminal actuel sont affichés.
Exemple d'exécution
PID TTY TIME CMD
89124 ttys000 0:00.05 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server <=Processus Iterm
89126 ttys000 0:00.32 -zsh <=lié à zsh
88296 ttys001 0:01.40 /usr/local/bin/zsh -l <=lié à zsh
Présentation d'un exemple de la commande ps
Afficher tous les processus en cours d'exécution par l'utilisateur actuel
Ajoutez l'option a en plus de l'option x pour voir tous les processus en cours d'exécution sur votre système, pas seulement le vôtre
Il affiche également les taux d'utilisation du processeur et de la mémoire, etc.
Une combinaison d'options de machine fréquemment utilisées lors de l'exécution de commandes ps
Afficher tous les processus de l'utilisateur qui a exécuté la commande ps avec des informations détaillées Faire
Afficher tous les processus utilisateur avec des informations détaillées
Une unité de traitement lorsqu'elle est vue depuis le shell est appelée un travail (un processus est une unité de traitement lorsqu'il est visualisé depuis le noyau). Une ligne entrée dans la ligne de commande du shell devient une tâche
Exemple d'exécution
history | grep git
hisotry
et grep git
history | grep git
Les processus ont un ID de processus unique à l'échelle du système, mais les travaux ont un numéro de travail pour chaque shell. En d'autres termes, si plusieurs terminaux sont ouverts et que plusieurs shells sont utilisés en même temps, les numéros de travail seront dupliqués.
Commande pour afficher la liste des travaux en cours
Un état dans lequel le traitement est exécuté pendant que l'utilisateur fonctionne de manière interactive
Commande pour exécuter une tâche au premier plan
Un état dans lequel le traitement est exécuté sans que l'utilisateur n'interagisse avec lui.
Commande pour mettre le traitement en arrière-plan
Un état dans lequel le traitement est temporairement suspendu Ctrl + z Arrêter temporairement le traitement
Une commande utilisée pour terminer un processus ou une tâche en arrière-plan. Pour être exact, la commande "envoyer un signal". Un signal est un signal envoyé à un processus.
Il se comporte de diverses manières telles que «fin», «arrêt» et «redémarrage» selon le type de signal. En envoyant un signal à un processus en cours, il est possible de communiquer entre les processus.
Le type de signal envoyé par la commande kill peut être spécifié par kill- <nom du signal>
. Si le nom du signal est omis, le signal TERM est envoyé comme valeur par défaut. Autrement dit, les deux commandes suivantes ont la même signification.
kill 100
kill =TERM 100
TERM signifie terminer.
De plus, le signal a un numéro de signal et les options peuvent être spécifiées par le numéro de signal. Le numéro de signal de TERM est 15, et "kill -15 100" a la même signification que la commande ci-dessus.
Vous pouvez vérifier le type de signal avec kill -l
$ kill -l
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2
Ctrl + z envoie un signal TSTP (arrêt) et Ctrl + c envoie un signal INT (fin) pour un travail au premier plan.