Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:lpic:11:500:l103 [2023/06/09 05:33] – admin | elearning:workbooks:lpic:11:500:l103 [2024/04/05 07:59] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
- | Version : **2023.01** | + | Version : **2024.01** |
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
Ligne 6389: | Ligne 6389: | ||
# User specific aliases and functions | # User specific aliases and functions | ||
+ | </ | ||
+ | |||
+ | =====Gestion des Processus===== | ||
+ | |||
+ | Un processus est un fichier binaire ( binary file ) qui est chargé en mémoire centrale. Une fois chargé la mémoire exécute le programme en langage machine. Quand le programme est chargé, il a besoin du système d’exploitation qui lui fournit des informations pour qu’il puisse s’exécuter correctement. Ces informations sont appelées des **données d’identification**. | ||
+ | |||
+ | L’ensemble des **données d’identification** est appelé l’**environnement de processus** : | ||
+ | |||
+ | * Un numéro de processus unique (PID), | ||
+ | * Un numéro de processus parent (PPID), | ||
+ | * Un numéro d' | ||
+ | * Un numéro de groupe (GID), | ||
+ | * La durée de traitement, | ||
+ | * La priorité du processus, | ||
+ | * Le répertoire de travail actif, | ||
+ | * Les fichiers ouverts. | ||
+ | |||
+ | Ces informations sont stockés dans le répertoire **/proc**. Le répertoire /proc contient des fichiers et des répertoires virtuels. Le contenu de ces fichiers est créé dynamiquement lors de la consultation. Seul root peut consulter la totalité des informations dans le répertoire / | ||
+ | |||
+ | Saisissez la commande suivante : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# cd /proc; ls -d [0-9]* | ||
+ | 1 | ||
+ | 10 14 21 | ||
+ | 1015 1410 218 2481 28 3076 3160 3256 3395 373 | ||
+ | 11 15 22 | ||
+ | 12 16 220 258 | ||
+ | 1217 1677 221 259 | ||
+ | 1219 1687 222 26 2902 3092 3219 3285 3434 38 4112 484 509 700 | ||
+ | 1228 1688 223 260 | ||
+ | 1229 17 224 261 | ||
+ | 1231 18 227 262 | ||
+ | 13 19 229 263 | ||
+ | 1327 2 | ||
+ | </ | ||
+ | |||
+ | Chaque répertoire fait référence à un PID d'un processus. Les données de l’**environnement de processus** y sont présentes, par exemple : | ||
+ | |||
+ | < | ||
+ | [root@centos7 proc]# cd 1 ; ls -l | ||
+ | total 0 | ||
+ | dr-xr-xr-x. 2 root root 0 Oct 27 16:20 attr | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:20 autogroup | ||
+ | -r--------. 1 root root 0 Oct 27 16:20 auxv | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:06 cgroup | ||
+ | --w-------. 1 root root 0 Oct 27 16:20 clear_refs | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:06 cmdline | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:06 comm | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:20 coredump_filter | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 cpuset | ||
+ | lrwxrwxrwx. 1 root root 0 Oct 27 16:20 cwd -> / | ||
+ | -r--------. 1 root root 0 Oct 27 16:06 environ | ||
+ | lrwxrwxrwx. 1 root root 0 Oct 27 16:06 exe -> / | ||
+ | dr-x------. 2 root root 0 Oct 27 16:06 fd | ||
+ | dr-x------. 2 root root 0 Oct 27 16:20 fdinfo | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:20 gid_map | ||
+ | -r--------. 1 root root 0 Oct 27 16:20 io | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 limits | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:06 loginuid | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:06 maps | ||
+ | -rw-------. 1 root root 0 Oct 27 16:20 mem | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:06 mountinfo | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:06 mounts | ||
+ | -r--------. 1 root root 0 Oct 27 16:20 mountstats | ||
+ | dr-xr-xr-x. 6 root root 0 Oct 27 16:06 net | ||
+ | dr-x--x--x. 2 root root 0 Oct 27 16:20 ns | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 numa_maps | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:20 oom_adj | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 oom_score | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:20 oom_score_adj | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 pagemap | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 personality | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:20 projid_map | ||
+ | lrwxrwxrwx. 1 root root 0 Oct 27 16:06 root -> / | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:20 sched | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:06 sessionid | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 smaps | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 stack | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:06 stat | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 statm | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:06 status | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 syscall | ||
+ | dr-xr-xr-x. 3 root root 0 Oct 27 16:06 task | ||
+ | -rw-r--r--. 1 root root 0 Oct 27 16:20 uid_map | ||
+ | -r--r--r--. 1 root root 0 Oct 27 16:20 wchan | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** - Vous n'avez pas besoin de consulter le contenu des fichiers et des répertoires. Il convient tout simplement de savoir que ces données existent. Naviguez donc à /root en ligne de commande. | ||
+ | </ | ||
+ | |||
+ | =====Les Types de Processus===== | ||
+ | |||
+ | Il existe trois types de processus : | ||
+ | |||
+ | * **interactif** qui est lancé par le shell dans une console en premier plan ou en tâche de fond | ||
+ | * **batch** qui est lancé par le système au moment propice | ||
+ | * **daemon** qui est lancé au démarrage par le système ( lpd, dns etc ) | ||
+ | |||
+ | Un processus peut être dans un de neuf états ou //process states// : | ||
+ | |||
+ | * //user mode// - le processus s' | ||
+ | * //kernel mode//- le processus s' | ||
+ | * //waiting// – le processus est en attente pour une ressource autre que le processeur, | ||
+ | * // | ||
+ | * // | ||
+ | * //swap// - le processus est endormi dans la mémoire virtuelle, | ||
+ | * //new// - le processus est nouveau, | ||
+ | * //elected// – le processus a le contrôle du processeur, | ||
+ | * //zombie// – le processus a terminé son exécution et est prêt à mourir. | ||
+ | |||
+ | =====Les Commandes relatives aux Processus===== | ||
+ | |||
+ | ====La Commande ps==== | ||
+ | |||
+ | Cette commande affiche les processus de l’utilisateur attaché au terminal : | ||
+ | |||
+ | < | ||
+ | [root@centos7 1]# cd ~ | ||
+ | [root@centos7 ~]# ps | ||
+ | PID TTY TIME CMD | ||
+ | 4070 pts/0 00:00:00 su | ||
+ | 4077 pts/0 00:00:00 bash | ||
+ | 4285 pts/0 00:00:00 ps | ||
+ | </ | ||
+ | |||
+ | Pour plus de détails, il convient d' | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# ps -l | ||
+ | F S | ||
+ | 4 S | ||
+ | 4 S | ||
+ | 0 R | ||
+ | </ | ||
+ | |||
+ | On note dans cette sortie : | ||
+ | |||
+ | ^ F | Drapeaux du processus. La valeur 4 indique que le processus utilise les privilèges de root | | ||
+ | ^ S | État du processus S (sleeping), R (In run queue), Z (zombie), N (low priority), D (uninterruptible sleep), T (Traced) | | ||
+ | ^ UID | Numéro de l’Utilisateur | | ||
+ | ^ PID | Numéro Unique de Processus | | ||
+ | ^ PPID | PID du processus parent | | ||
+ | ^ C | Facteur de priorité du processus | | ||
+ | ^ PRI | Priorité du processus | | ||
+ | ^ NI | La valeur de nice | | ||
+ | ^ ADDR | Adresse mémoire du processus | | ||
+ | ^ SZ | Utilisation de la mémoire virtuelle | | ||
+ | ^ WCHAN | Nom de la fonction du noyau dans laquelle le processus est endormi | | ||
+ | ^ TTY | Nom du terminal depuis lequel le processus a été lancé | | ||
+ | ^ TIME | Durée d' | ||
+ | ^ CMD | Commande exécutée | | ||
+ | |||
+ | Pour visualiser la table des processus, utilisez la commande ps avec les options l et x - la commande affiche tous les processus avec un affichage long : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# ps lx | more | ||
+ | F | ||
+ | 4 | ||
+ | | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 5 | ||
+ | 1 | ||
+ | 5 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | 1 | ||
+ | --More-- | ||
+ | </ | ||
+ | |||
+ | On note dans cette sortie certaines informations supplémentaires : | ||
+ | |||
+ | ^ VSZ | La même chose que SZ dans l' | ||
+ | ^ RSS | La mémoire utilisée en kilobytes par le processus | | ||
+ | ^ STAT | La même chose que S dans l' | ||
+ | |||
+ | |||
+ | Avec des options a,u et x la commande affiche le résultat suivant : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# ps aux | more | ||
+ | USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND | ||
+ | root | ||
+ | ystem --deserialize 24 | ||
+ | root | ||
+ | root | ||
+ | root | ||
+ | root | ||
+ | root | ||
+ | root | ||
+ | root | ||
+ | root 10 0.1 0.0 0 0 ? S 16:06 0:01 [rcu_sched] | ||
+ | root 11 0.2 0.0 0 0 ? R 16:06 0:02 [rcuos/0] | ||
+ | root 12 0.0 0.0 0 0 ? S 16:06 0:00 [watchdog/ | ||
+ | root 13 0.0 0.0 0 0 ? S< | ||
+ | root 14 0.0 0.0 0 0 ? S 16:06 0:00 [kdevtmpfs] | ||
+ | root 15 0.0 0.0 0 0 ? S< | ||
+ | root 16 0.0 0.0 0 0 ? S< | ||
+ | root 17 0.0 0.0 0 0 ? S< | ||
+ | root 18 0.0 0.0 0 0 ? S< | ||
+ | root 19 0.0 0.0 0 0 ? S< | ||
+ | root 20 0.0 0.0 0 0 ? S 16:06 0:00 [khubd] | ||
+ | root 21 0.0 0.0 0 0 ? S< | ||
+ | root 24 0.0 0.0 0 0 ? S 16:06 0:00 [khungtaskd] | ||
+ | --More-- | ||
+ | </ | ||
+ | |||
+ | On note dans cette sortie certaines informations supplémentaires : | ||
+ | |||
+ | ^ USER | L' | ||
+ | ^ %CPU | Ressources du microprocesseur utilisées par le processus | | ||
+ | ^ %MEM | Ressources en mémoire vive utilisées par le processus | | ||
+ | |||
+ | ===Options de la commande ps=== | ||
+ | |||
+ | Les options de cette commande sont : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# ps --help | ||
+ | |||
+ | Usage: | ||
+ | ps [options] | ||
+ | |||
+ | Try 'ps --help < | ||
+ | or 'ps --help < | ||
+ | for additional help text. | ||
+ | |||
+ | For more details see ps(1). | ||
+ | </ | ||
+ | |||
+ | ====La Commande pgrep==== | ||
+ | |||
+ | La commande **pgrep** permet de rechercher un processus en fonction de son nom et d’autres propriétés puis d' | ||
+ | |||
+ | Par exemple, la commande suivante affiche le PID du processus sshd appartenant à root : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# pgrep -u root sshd | ||
+ | 1219 | ||
+ | </ | ||
+ | |||
+ | Tandis que la commande suivante affiche tous les PID des processus appartenant à root ou à trainee : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# pgrep -u root, | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | 5 | ||
+ | 6 | ||
+ | 7 | ||
+ | 8 | ||
+ | 9 | ||
+ | 10 | ||
+ | 11 | ||
+ | 12 | ||
+ | 13 | ||
+ | 14 | ||
+ | 15 | ||
+ | 16 | ||
+ | 17 | ||
+ | 18 | ||
+ | 19 | ||
+ | 20 | ||
+ | 21 | ||
+ | 24 | ||
+ | 25 | ||
+ | 26 | ||
+ | --More-- | ||
+ | </ | ||
+ | |||
+ | ===Option de la commande pgrep=== | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# pgrep --help | ||
+ | |||
+ | Usage: | ||
+ | pgrep [options] < | ||
+ | |||
+ | Options: | ||
+ | -d, --delimiter < | ||
+ | -l, --list-name | ||
+ | -a, --list-full | ||
+ | -v, --inverse | ||
+ | -w, --lightweight | ||
+ | -c, --count | ||
+ | -f, --full | ||
+ | -g, --pgroup < | ||
+ | -G, --group < | ||
+ | -n, --newest | ||
+ | -o, --oldest | ||
+ | -P, --parent < | ||
+ | -s, --session < | ||
+ | -t, --terminal < | ||
+ | -u, --euid < | ||
+ | -U, --uid < | ||
+ | -x, --exact | ||
+ | -F, --pidfile < | ||
+ | -L, --logpidfile | ||
+ | --ns < | ||
+ | | ||
+ | | ||
+ | the --ns option. | ||
+ | | ||
+ | |||
+ | -h, --help | ||
+ | -V, --version | ||
+ | |||
+ | For more details see pgrep(1). | ||
+ | </ | ||
+ | |||
+ | ====La Commande pstree==== | ||
+ | |||
+ | Cette commande affiche les processus en forme d' | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# pstree | ||
+ | systemd─┬─ModemManager───2*[{ModemManager}] | ||
+ | ├─NetworkManager─┬─dhclient | ||
+ | │ └─3*[{NetworkManager}] | ||
+ | ├─3*[VBoxClient───VBoxClient───{VBoxClient}] | ||
+ | ├─VBoxClient───VBoxClient───2*[{VBoxClient}] | ||
+ | ├─VBoxService───7*[{VBoxService}] | ||
+ | ├─2*[abrt-watch-log] | ||
+ | ├─abrtd | ||
+ | ├─accounts-daemon───2*[{accounts-daemon}] | ||
+ | ├─alsactl | ||
+ | ├─at-spi-bus-laun─┬─dbus-daemon───{dbus-daemon} | ||
+ | │ | ||
+ | ├─at-spi2-registr───{at-spi2-registr} | ||
+ | ├─atd | ||
+ | ├─auditd─┬─audispd─┬─sedispatch | ||
+ | │ │ | ||
+ | │ └─{auditd} | ||
+ | ├─avahi-daemon───avahi-daemon | ||
+ | ├─bluetoothd | ||
+ | ├─chronyd | ||
+ | ├─colord───2*[{colord}] | ||
+ | ├─crond | ||
+ | ├─cupsd | ||
+ | ├─2*[dbus-daemon───{dbus-daemon}] | ||
+ | ├─dbus-launch | ||
+ | ├─dconf-service───2*[{dconf-service}] | ||
+ | ├─evolution-addre───4*[{evolution-addre}] | ||
+ | ├─evolution-calen───4*[{evolution-calen}] | ||
+ | ├─evolution-sourc───2*[{evolution-sourc}] | ||
+ | ├─firewalld───{firewalld} | ||
+ | ├─gconfd-2 | ||
+ | ├─gdm─┬─gdm-simple-slav─┬─Xorg | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | ├─gnome-keyring-d───4*[{gnome-keyring-d}] | ||
+ | ├─gnome-shell-cal───4*[{gnome-shell-cal}] | ||
+ | ├─gnome-terminal-─┬─bash───su───bash───pstree | ||
+ | │ | ||
+ | │ | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ===Options de la commande pstree=== | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# pstree --help | ||
+ | pstree: unrecognized option ' | ||
+ | Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -u ] | ||
+ | [ -A | -G | -U ] [ PID | USER ] | ||
+ | | ||
+ | Display a tree of processes. | ||
+ | |||
+ | -a, --arguments | ||
+ | -A, --ascii | ||
+ | -c, --compact | ||
+ | -h, --highlight-all highlight current process and its ancestors | ||
+ | -H PID, | ||
+ | --highlight-pid=PID highlight this process and its ancestors | ||
+ | -g, --show-pgids | ||
+ | -G, --vt100 | ||
+ | -l, --long | ||
+ | -n, --numeric-sort | ||
+ | -N type, | ||
+ | --ns-sort=type | ||
+ | -p, --show-pids | ||
+ | -s, --show-parents | ||
+ | -S, --ns-changes | ||
+ | -u, --uid-changes | ||
+ | -U, --unicode | ||
+ | -V, --version | ||
+ | -Z, | ||
+ | --security-context | ||
+ | PID start at this PID; default is 1 (init) | ||
+ | USER show only trees rooted at processes of this user | ||
+ | </ | ||
+ | |||
+ | ====La Commande top==== | ||
+ | |||
+ | Cette commande indique les processus en mémoire : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# top | ||
+ | |||
+ | top - 16:28:28 up 21 min, 2 users, | ||
+ | Tasks: 160 total, | ||
+ | %Cpu(s): | ||
+ | KiB Mem : 1791624 total, | ||
+ | KiB Swap: 3071996 total, | ||
+ | |||
+ | PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND | ||
+ | 3249 trainee | ||
+ | 1410 root 20 | ||
+ | 3756 trainee | ||
+ | 3883 trainee | ||
+ | 4904 root 20 | ||
+ | 3 root 20 | ||
+ | 525 dbus 20 | ||
+ | 596 root 20 | ||
+ | 1 root 20 | ||
+ | 2 root 20 | ||
+ | 5 root 0 -20 | ||
+ | 6 root 20 | ||
+ | 7 root rt | ||
+ | 8 root 20 | ||
+ | 9 root 20 | ||
+ | 10 root 20 | ||
+ | 11 root 20 | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Pour afficher l'aide de la commande **top**, appuyez sur la touche **h** : | ||
+ | |||
+ | < | ||
+ | Help for Interactive Commands - procps-ng version 3.3.10 | ||
+ | Window 1:Def: Cumulative mode Off. System: Delay 20.0 secs; Secure mode Off. | ||
+ | |||
+ | Z, | ||
+ | l,t,m | ||
+ | 0,1,2,3,I Toggle: ' | ||
+ | f,F,X | ||
+ | |||
+ | L,&,<,> | ||
+ | R,H,V,J . Toggle: ' | ||
+ | c,i,S,j . Toggle: ' | ||
+ | x,y . Toggle highlights: ' | ||
+ | z,b . Toggle: ' | ||
+ | u,U,o,O . Filter by: ' | ||
+ | n,#, | ||
+ | C,... . Toggle scroll coordinates msg for: up, | ||
+ | |||
+ | k,r | ||
+ | d or s Set update interval | ||
+ | W,Y Write configuration file ' | ||
+ | q Quit | ||
+ | ( commands shown with ' | ||
+ | Press ' | ||
+ | Type ' | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** - Pour revenir à l' | ||
+ | </ | ||
+ | |||
+ | Au lancement, le temps de rafraîchissement de la liste est de 3 secondes. Pour modifier ce temps à 1 seconde, appuyez sur la touche **s** puis la touche 1 et validez : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# top | ||
+ | ... | ||
+ | top - 16:31:05 up 24 min, 2 users, | ||
+ | Tasks: 161 total, | ||
+ | %Cpu(s): 11.3 us, 7.2 sy, 0.0 ni, 81.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st | ||
+ | KiB Mem : 1791624 total, | ||
+ | KiB Swap: 3071996 total, | ||
+ | Change delay from 3.0 to 1 | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Pour trier la liste selon l' | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# top | ||
+ | ... | ||
+ | top - 16:32:41 up 26 min, 2 users, | ||
+ | Tasks: 161 total, | ||
+ | %Cpu(s): | ||
+ | KiB Mem : 1791624 total, | ||
+ | KiB Swap: 3071996 total, | ||
+ | |||
+ | PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND | ||
+ | 3249 trainee | ||
+ | 3883 trainee | ||
+ | 1410 root 20 | ||
+ | 3873 trainee | ||
+ | 3359 trainee | ||
+ | 3144 trainee | ||
+ | 482 root 20 | ||
+ | 3756 trainee | ||
+ | 3231 trainee | ||
+ | 506 root 20 | ||
+ | 3418 trainee | ||
+ | 1015 root 20 | ||
+ | 625 polkitd | ||
+ | 3477 trainee | ||
+ | 1217 root 20 | ||
+ | 3395 trainee | ||
+ | 3460 trainee | ||
+ | </ | ||
+ | |||
+ | Pour ne pas visualiser les processus zombies ou les processus en attente, appuyez sur la touche i : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# top | ||
+ | ... | ||
+ | top - 16:33:45 up 27 min, 2 users, | ||
+ | Tasks: 160 total, | ||
+ | %Cpu(s): 41.2 us, 7.2 sy, 0.0 ni, 51.3 id, 0.0 wa, 0.0 hi, 0.4 si, 0.0 st | ||
+ | KiB Mem : 1791624 total, | ||
+ | KiB Swap: 3071996 total, | ||
+ | |||
+ | PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND | ||
+ | 3249 trainee | ||
+ | 1410 root 20 | ||
+ | 3873 trainee | ||
+ | 3756 trainee | ||
+ | 4904 root 20 | ||
+ | 596 root 20 | ||
+ | 5080 root 20 | ||
+ | </ | ||
+ | |||
+ | Pour quitter top, appuyez sur la touche **q**. | ||
+ | |||
+ | ===Options de la commande top=== | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# top --help | ||
+ | top: inappropriate ' | ||
+ | Usage: | ||
+ | top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols] | ||
+ | </ | ||
+ | |||
+ | ====Les Commandes fg, bg et jobs==== | ||
+ | |||
+ | Normalement les commandes s’exécutent en avant plan. Vous pouvez également lancer des processus en arrière plan (en tâche de fond). Si vous lancez une commande en tâche de fond, il faut rajouter **(espace)& | ||
+ | |||
+ | < | ||
+ | # sleep 9999 & | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | Notez qu’un processus en arrière plan est dit **asynchrone** car il se poursuit indépendamment de son parent qui est le shell. En avant plan le processus est dit **synchrone**. | ||
+ | </ | ||
+ | |||
+ | Linux numérote tous les processus qui sont placés en tâches de fond. On parle donc d’un **numéro de tâche**. | ||
+ | |||
+ | La commande **jobs** permet de se renseigner sur les processus en arrière plan : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# sleep 9999 & | ||
+ | [1] 9870 | ||
+ | [root@centos7 ~]# jobs -l | ||
+ | [1]+ 9870 Running | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** - Notez que le numéro de tâche est indiqué entre [crochets] tandis que le PID ne l'est pas. Le signe **+** qui suit le numéro de tâche [1] indique que la tâche est la dernière a avoir été manipulée. | ||
+ | </ | ||
+ | |||
+ | Si on souhaite envoyer un processus en arrière plan de façon à libérer le shell pour d’autres commandes, il faut d’abord suspendre le processus en question. Normalement on suspend un processus en utilisant la combinaison de touches < | ||
+ | |||
+ | Par exemple : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# sleep 1234 | ||
+ | ^Z | ||
+ | [2]+ Stopped | ||
+ | </ | ||
+ | |||
+ | Un fois suspendu, on utilise la commande **bg** (background) suivi par **%** et le numéro de tâche pour envoyer le processus en arrière plan : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# bg %2 | ||
+ | [2]+ sleep 1234 & | ||
+ | [root@centos7 ~]# jobs -l | ||
+ | [1]- 9870 Running | ||
+ | [2]+ 9930 Running | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** - Notez que lors du passage en arrière plan, le processus reprend son exécution normalement. Le caractère **-** qui suit le numéro de tâche [1] indique que la tâche est l' | ||
+ | </ | ||
+ | |||
+ | Pour ramener le processus en avant plan, il faut de nouveau interrompre le processus concerné. Or cette fois-ci, nous ne pouvons pas utiliser la commande < | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# kill -stop %2 | ||
+ | [root@centos7 ~]# jobs -l | ||
+ | [1]- 9870 Running | ||
+ | [2]+ 9930 Stopped (signal) | ||
+ | </ | ||
+ | |||
+ | Pour reprendre le processus en arrière plan, sans le ramener en avant plan, on utilise la commande kill avec l' | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# kill -cont %2 | ||
+ | [root@centos7 ~]# jobs -l | ||
+ | [1]- 9870 Running | ||
+ | [2]+ 9930 Running | ||
+ | </ | ||
+ | |||
+ | Pour ramener le processus en avant plan, on utilise la commande fg : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# kill -stop %2 | ||
+ | [root@centos7 ~]# jobs -l | ||
+ | [1]- 9870 Running | ||
+ | [2]+ 9930 Stopped (signal) | ||
+ | [root@centos7 ~]# fg %2 | ||
+ | sleep 1234 | ||
+ | ^C | ||
+ | [root@centos7 ~]# | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** - Notez l' | ||
+ | </ | ||
+ | |||
+ | ===Options de la commande jobs=== | ||
+ | |||
+ | Les options de la commande jobs sont : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# help jobs | ||
+ | jobs: jobs [-lnprs] [jobspec ...] or jobs -x command [args] | ||
+ | Display status of jobs. | ||
+ | | ||
+ | Lists the active jobs. JOBSPEC restricts output to that job. | ||
+ | Without options, the status of all active jobs is displayed. | ||
+ | | ||
+ | Options: | ||
+ | -l lists process IDs in addition to the normal information | ||
+ | -n list only processes that have changed status since the last | ||
+ | notification | ||
+ | -p lists process IDs only | ||
+ | -r restrict output to running jobs | ||
+ | -s restrict output to stopped jobs | ||
+ | | ||
+ | If -x is supplied, COMMAND is run after all job specifications that | ||
+ | appear in ARGS have been replaced with the process ID of that job's | ||
+ | process group leader. | ||
+ | | ||
+ | Exit Status: | ||
+ | Returns success unless an invalid option is given or an error occurs. | ||
+ | If -x is used, returns the exit status of COMMAND. | ||
+ | </ | ||
+ | |||
+ | ====La Commande wait==== | ||
+ | |||
+ | Cette commande permet de doter un processus asynchrone du comportement d'un processus synchrone. Elle est utilisée pour attendre jusqu’à ce qu'un processus en tâche de fond soit terminé : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# jobs -l | ||
+ | [1]+ 9870 Running | ||
+ | [root@centos7 ~]# wait %1 | ||
+ | ^C | ||
+ | [root@centos7 ~]# jobs -l | ||
+ | [1]+ 9870 Running | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** - Notez que l' | ||
+ | </ | ||
+ | |||
+ | ====La Commande nice==== | ||
+ | |||
+ | Cette commande affiche ou modifie la priorité d’un processus. La priorité par défaut de nice est 10. La valeur de nice la plus prioritaire est -20. La valeur la moins prioritaire est 19 : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# nice -n -20 sleep 1234 | ||
+ | ^Z | ||
+ | [2]+ Stopped | ||
+ | |||
+ | [root@centos7 ~]# ps lx | grep sleep | ||
+ | 0 | ||
+ | 0 0 10282 | ||
+ | 4 0 10283 4077 0 -20 107892 | ||
+ | 0 0 10394 4077 20 0 112640 | ||
+ | |||
+ | [root@centos7 ~]# nice -n 19 sleep 5678 | ||
+ | ^Z | ||
+ | [3]+ Stopped | ||
+ | |||
+ | [root@centos7 ~]# ps lx | grep sleep | ||
+ | 0 | ||
+ | 4 0 10283 4077 0 -20 107892 | ||
+ | 0 0 10402 | ||
+ | 0 0 10403 4077 39 19 107892 | ||
+ | 0 0 10405 4077 20 0 112640 | ||
+ | </ | ||
+ | |||
+ | Comme vous pouvez constater la 6ième colonne contient la valeur de nice qui s' | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** - Notez que seul root peut lancer des processus avec une valeur négative. | ||
+ | </ | ||
+ | |||
+ | ===Options de la commande=== | ||
+ | |||
+ | Les options de cette commande sont : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# nice --help | ||
+ | Usage: nice [OPTION] [COMMAND [ARG]...] | ||
+ | Run COMMAND with an adjusted niceness, which affects process scheduling. | ||
+ | With no COMMAND, print the current niceness. | ||
+ | -20 (most favorable to the process) to 19 (least favorable to the process). | ||
+ | |||
+ | Mandatory arguments to long options are mandatory for short options too. | ||
+ | -n, --adjustment=N | ||
+ | --help | ||
+ | --version | ||
+ | |||
+ | NOTE: your shell may have its own version of nice, which usually supersedes | ||
+ | the version described here. Please refer to your shell' | ||
+ | for details about the options it supports. | ||
+ | |||
+ | GNU coreutils online help: < | ||
+ | For complete documentation, | ||
+ | </ | ||
+ | |||
+ | ====La Commande renice==== | ||
+ | |||
+ | Cette commande modifie la priorité d’un processus déjà en cours. La valeur de la priorité ne peut être modifiée que par le propriétaire du processus ou par root. | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# jobs -l | ||
+ | [1] 9870 Running | ||
+ | [2]- 10283 Stopped | ||
+ | [3]+ 10403 Stopped | ||
+ | [root@centos7 ~]# bg %2 | ||
+ | [2]- nice -n -20 sleep 1234 & | ||
+ | [root@centos7 ~]# bg %3 | ||
+ | [3]+ nice -n 19 sleep 5678 & | ||
+ | [root@centos7 ~]# jobs -l | ||
+ | [1] 9870 Running | ||
+ | [2]- 10283 Running | ||
+ | [3]+ 10403 Running | ||
+ | [root@centos7 ~]# renice +5 10283 | ||
+ | 10283 (process ID) old priority -20, new priority 5 | ||
+ | [root@centos7 ~]# renice -5 10403 | ||
+ | 10403 (process ID) old priority 19, new priority -5 | ||
+ | [root@centos7 ~]# ps lx | grep sleep | ||
+ | 0 | ||
+ | 4 0 10283 4077 25 5 107892 | ||
+ | 0 0 10403 4077 15 -5 107892 | ||
+ | 0 0 10570 | ||
+ | 0 0 10648 4077 20 0 112640 | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** -Notez que seul root peut décrémenter la valeur de priorité avec la commande renice. | ||
+ | </ | ||
+ | |||
+ | ===Options de la commande=== | ||
+ | |||
+ | Les options de cette commande sont : | ||
+ | |||
+ | < | ||
+ | [r[root@centos7 ~]# renice --help | ||
+ | |||
+ | Usage: | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Options: | ||
+ | -g, --pgrp < | ||
+ | -n, --priority < | ||
+ | -p, --pid < | ||
+ | -u, --user < | ||
+ | -h, --help | ||
+ | -V, --version | ||
+ | |||
+ | For more information see renice(1). | ||
+ | </ | ||
+ | |||
+ | ====La Commande nohup==== | ||
+ | |||
+ | Cette commande permet à un processus de poursuivre son exécution après la déconnexion. Un processus enfant meurt quand le processus parent meure ou se termine. Comme une connexion et un processus, quand vous vous déconnectez, | ||
+ | |||
+ | < | ||
+ | nohup lp ventes.txt & | ||
+ | </ | ||
+ | |||
+ | ===Options de la commande=== | ||
+ | |||
+ | Les options de cette commande sont : | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# nohup --help | ||
+ | Usage: nohup COMMAND [ARG]... | ||
+ | or: nohup OPTION | ||
+ | Run COMMAND, ignoring hangup signals. | ||
+ | |||
+ | --help | ||
+ | --version | ||
+ | |||
+ | If standard input is a terminal, redirect it from /dev/null. | ||
+ | If standard output is a terminal, append output to ' | ||
+ | ' | ||
+ | If standard error is a terminal, redirect it to standard output. | ||
+ | To save output to FILE, use 'nohup COMMAND > FILE'. | ||
+ | |||
+ | NOTE: your shell may have its own version of nohup, which usually supersedes | ||
+ | the version described here. Please refer to your shell' | ||
+ | for details about the options it supports. | ||
+ | |||
+ | GNU coreutils online help: < | ||
+ | For complete documentation, | ||
+ | </ | ||
+ | |||
+ | ====La Commande kill==== | ||
+ | |||
+ | La commande kill envoie des signaux aux processus. La liste des signaux possibles peut être afficher avec l' | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# kill -l | ||
+ | 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP | ||
+ | 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 | ||
+ | 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM | ||
+ | 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP | ||
+ | 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ | ||
+ | 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR | ||
+ | 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 | ||
+ | 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 | ||
+ | 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 | ||
+ | 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 | ||
+ | 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 | ||
+ | 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 | ||
+ | 63) SIGRTMAX-1 64) SIGRTMAX | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** - Vous constaterez que chaque signal possède un numéro. Ces numéros de signaux sont utilisés à la place des options. Par exemple, **-19** à la place de l' | ||
+ | </ | ||
+ | |||
+ | Parmi les numéros de signaux les plus utiles on trouve : | ||
+ | |||
+ | ^ Numéro ^ Description ^ | ||
+ | | -1 | Le signal Hang Up est envoyé à tous les enfants d'un processus quand il se termine | | ||
+ | | -2 | Interruption du processus - équivalent à < | ||
+ | | -3 | La même chose que -2 mais avec la génération d'un fichier de déboggage | | ||
+ | | -9 | Le signal qui tue un processus brutalement | | ||
+ | | -15 | Le signal envoyé par défaut par la commande **kill**. Le processus se termine normalement | | ||
+ | |||
+ | ===Options de la commande kill=== | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# help kill | ||
+ | kill: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec] | ||
+ | Send a signal to a job. | ||
+ | | ||
+ | Send the processes identified by PID or JOBSPEC the signal named by | ||
+ | SIGSPEC or SIGNUM. | ||
+ | SIGTERM is assumed. | ||
+ | | ||
+ | Options: | ||
+ | -s sig SIG is a signal name | ||
+ | -n sig SIG is a signal number | ||
+ | -l list the signal names; if arguments follow `-l' they are | ||
+ | assumed to be signal numbers for which names should be listed | ||
+ | | ||
+ | Kill is a shell builtin for two reasons: it allows job IDs to be used | ||
+ | instead of process IDs, and allows processes to be killed if the limit | ||
+ | on processes that you can create is reached. | ||
+ | | ||
+ | Exit Status: | ||
+ | Returns success unless an invalid option is given or an error occurs. | ||
+ | </ | ||
+ | |||
+ | ====La Commande pkill==== | ||
+ | |||
+ | La commande pkill permet d' | ||
+ | |||
+ | < | ||
+ | [root@centos ~]# pkill -HUP rsyslogd | ||
+ | </ | ||
+ | |||
+ | ===Options de la commande pkill=== | ||
+ | |||
+ | < | ||
+ | [root@centos7 ~]# pkill --help | ||
+ | |||
+ | Usage: | ||
+ | pkill [options] < | ||
+ | |||
+ | Options: | ||
+ | | ||
+ | -e, --echo | ||
+ | -c, --count | ||
+ | -f, --full | ||
+ | -g, --pgroup < | ||
+ | -G, --group < | ||
+ | -n, --newest | ||
+ | -o, --oldest | ||
+ | -P, --parent < | ||
+ | -s, --session < | ||
+ | -t, --terminal < | ||
+ | -u, --euid < | ||
+ | -U, --uid < | ||
+ | -x, --exact | ||
+ | -F, --pidfile < | ||
+ | -L, --logpidfile | ||
+ | --ns < | ||
+ | | ||
+ | | ||
+ | the --ns option. | ||
+ | | ||
+ | |||
+ | -h, --help | ||
+ | -V, --version | ||
+ | |||
+ | For more details see pgrep(1). | ||
</ | </ | ||
----- | ----- | ||
- | Copyright © 2023 Hugh Norris. | + | Copyright © 2024 Hugh Norris. |