processus de gestion
- 1. Afficher et gérer les processus
-
- 1.1 Afficher le processus
-
- Commande 1.1.1PS : afficher les statistiques statiques du processus
- Commande 1.1.2ps -elf - afficher les statistiques statiques du processus
- 1.1.3 requête de filtre grep
- Commande 1.1.4top : afficher dynamiquement les informations sur le processus
- 1.1.5 Commande pstree - afficher l'arborescence des processus
- 1.2 Mode processus de contrôle
- 2. Gestion des régimes
- 3. Résumé
1. Afficher et gérer les processus
- Fonctions du noyau : gestion des processus, gestion de la mémoire, système de fichiers, fonctions réseau, pilotes, fonctions de sécurité, etc. Pour tous les systèmes d'exploitation, il existe des fonctions de base
- Quelle est la procédure:
- Code exécutable et données stockées sur disque dur, CD, etc.
- Code enregistré statiquement dans le fichier
- qu'est-ce qu'un processus
- Code de programme qui s'exécute sur le processeur et la mémoire
- exécuter du code dynamiquement
- Processus parent, enfant (chaque programme peut créer un ou plusieurs processus)
- Un processus est un programme en cours d'exécution
- La différence entre processus et thread :
allocation des ressources et planification- Le processus est l’unité de base de la compétition pour les ressources
- Le thread est la plus petite unité d'exécution d'un programme
1.1 Afficher le processus
Commande 1.1.1PS – afficher les statistiques statiques du processus
Options communes
choix | Fonction |
---|---|
un | Afficher tous les processus sur le terminal, y compris ceux des autres utilisateurs |
toi | Indique l'utilisateur listant les processus |
X | afficher tous les processus du terminal |
Lors de l'exécution directe de la commande ps sans aucune option, les processus ouverts dans la session utilisateur en cours seront affichés au
format de base ;
ps aux 基本格式
ps aux | wc -l 结合管道符号查询具体的数量
- Afficher les processus système actuels
- Afficher les progrès actuels
nom | décrire |
---|---|
UTILISATEUR | Le nom du compte utilisateur qui a démarré le processus |
PID | PID du processus |
%CPU | Le pourcentage de CPU utilisé par le processus |
%MEM | pourcentage de mémoire utilisée |
VSZ | Quantité de mémoire virtualisée utilisée par le processus |
RSS | Quantité de mémoire physique utilisée par le processus |
ATS | Le nom du terminal qui a démarré le processus, ou le nom du processus qui n'a pas été démarré à partir d'un terminal, s'affiche sous la forme |
STATUT | état du processus |
COMMENCER | Le processus a été faussement déclenché pour démarrer l'heure |
TEMPS | Le temps pendant lequel le processus a réellement utilisé le processeur pour s'exécuter |
COMMANDE | commande de démarrage du processus |
- stat :
- D : État dormant qui ne peut pas être réveillé
- R : État en cours d'exécution
- S : État dormant
- T : État arrêté
- Z : Processus zombie, le processus est terminé, mais certains programmes sont toujours en mémoire, mais son parent Le processus n'a pas pu y mettre fin gracieusement - Processus zombie : Le processus zombie se produit lorsque le processus enfant se termine avant le processus parent et que le deuxième processus parent ne recycle pas le processus enfant et ne libère pas les ressources occupées par le processus enfant. À ce stade, le processus enfant deviendra un processus zombie. Si le processus parent se termine en premier, le processus enfant sera tué. init prend le relais, et une fois le processus enfant terminé, init récupérera les ressources fermées qu'il occupe
Commande 1.1.2ps -elf – afficher les statistiques statiques du processus
choix | Fonction |
---|---|
-e | Afficher toutes les informations de processus dans le système |
-l | Utiliser un format long pour afficher les informations sur le processus |
-F | Afficher les informations sur le processus au format complet |
- Afficher le processus système actuel (plus d'informations que l'affichage ps aux)
nom | signification représentative |
---|---|
F | Indicateurs système attribués par le noyau aux processus |
s | état du processus |
UID | démarrer ces processus |
PID | L'ID de processus du processus, chaque processus a un PID unique |
PPID | L'ID de processus du processus parent |
C | Utilisation du processeur pendant la durée de vie du processus |
À | Processus prioritaire |
DANS | La valeur d'humilité est utilisée pour participer à la détermination des priorités |
ADDR | adresse mémoire du processus |
sz | Taille approximative de l'espace requis |
ESTIMATIONS | Heure système au début du processus |
ATS | Terminal lorsque le processus démarre |
CMD | commande de démarrage du processus |
1.1.3 requête de filtre grep
En raison du grand nombre de processus exécutés dans le système, il est nécessaire d'interroger les informations d'un processus en combinant les opérations de pipeline et les commandes grep pour le filtrage. Par exemple, procédez comme suit pour filtrer les informations de processus contenant « bash »
1.1.4 commande top – afficher dynamiquement les informations sur le processus
- Processus de visualisation dynamique
- Triez les processus interrogés en fonction du taux de mémoire et appuyez sur shift+m après la commande supérieure
- Afficher le processus en cours
La première ligne : informations sur la file d'attente des tâches
19:11:05 | Le temps du système |
---|---|
jusqu'à 1:03 | Depuis combien de temps le système fonctionne |
2 utilisateurs | Utilisateurs actuellement connectés |
moyenne de charge : 0,00, 0,01, 0,05 | Charge moyenne, c'est-à-dire le nombre de tâches traitées par le système par unité de temps, et les trois dernières valeurs sont les valeurs moyennes d'il y a 1 minute, 5 minutes et 15 minutes jusqu'à aujourd'hui |
La deuxième ligne : informations sur le processus système
Tâches | nombre total de processus |
---|---|
en cours d'exécution | 正在运行的进程数 |
sleeping、 休眠的进程数 | |
stopped | 中止的进程数 |
zombie | 僵死的进程数 |
第三行:CPU占用信息
us | 用户占用 |
---|---|
sy | 内核占用 |
ni | 优先级调度占用 |
id | 空闲CPU,要了解空闲的CPU百分比,主要看%id部分 |
wa | I/o等待占用 |
hi | 硬件中断占用 |
si | 软件中断占用 |
st | 虚拟化占用 |
第四行内存占用信息
total | 总空闲内存 |
---|---|
free | 空闲内存 |
used | 己用内存 |
lbuff/cache | 物理内存和交换内存的缓冲区总和 |
第五行:交换空间swap占用信息
total | 总交换内存 |
---|---|
free | 空闲交换内存 |
used | 已用交换内存 |
avail Mem | 可用物理空间 |
- top常用命令
命令 | 代表意思 |
---|---|
P 键 | 根据CPU使用百分比大小进行排序 |
M键 | 根据驻留内存大小进行排序 |
N键 | 根据启动时间进行排序 |
c键 | 切换显示命令名称和完整命令行 |
h键 | 可以获得top程序的在线帮助信息 |
q键 | 退出top程序 |
数字键1 | 显示CPU个数状态 |
1.1.5pstree命令-- 查看进程树
pstree命令可以查看当前系统的进程树,包括各个进程对应的pid号,用户名,完整命令等信息
选项 | 代表意思 |
---|---|
-A | 各进程树之间连接以ASCLL字符来连接 |
-u | 各进程树之间的连接以Unicode字符来连接,在某些终端界面下可能会有错误 |
-p | 同时列出每个进程的pid |
-u | 同时列出每个进程的所属账号名称 |
1.2控制进程方式
进程启动方式为手工启动和调度启动
1.2.1手动启动
- 前台启动:用户在输入命令,直接执行的程序
- 后台启动:在命令行尾加入“&”符号
当使用cp命令从光盘中制作镜像文件时,由于需要复制的数据较多,耗时较长,因此可结合“&”符号将复制操作放到后天运行,以便用户可以继续执行其他命令操作
1.2.2进程的前后台调度
- ctrl+Z组合键:将当前进程挂起,即调入后台并停止执行
- jobs命令:查看处于后台的任务列表
- fg命令:将后天进程恢复到前台运行,可指定任务序列号
1.2.3终止程序的运行
- ctrl+c组合键:中断正在执行的命令
- kill,kallall命令
- kill用于终止指定pid号
- killall用于终止指定名称相关的所有进程
- -9选项用于强制执行
- pkill命令:根据特定条件终止相应的进程
-u | 根据进程所属的用户名终止相应的进程 |
---|---|
-t | 根据进程所在的终端终止相应进程 |
二.计划管理
2.1使用at命令,设置一次性计划任务
- at命令一次性计划任务
2.2使用crontab命令,设置周期性计划任务
2.2.1crontab命令简介
- crontab命令
- 按照预先设置的时间周期重复执行用户的命令操作
- 属于周期性计划任务
- 服务脚本名称
- 主要设置文件
- 全局配置文件,位于文件:/etc/crontab
- 系统默认的设置,位于目录:/etc/cron.*/
- 用户定义的设置,位于文件:/var/spoolcron用户名
2.2.2使用crontab命令管理用户计划任务
编辑计划任务
crontab -e [-u 用户名] #-u缺省时默认是针对当前用户,只有超级用户才可以用-u
查看计划任务
crontab -l [-u 用户名]
删除计划任务
crontab -r [-u 用户名]
- 时间数值的特殊标识方法:
特殊字符 | 说明 |
---|---|
*(星号) | 代表任何时刻都接受的意思。 |
,(逗号) | 代表分隔时段的意思 |
-(减号) | 代表一段时间范围内 |
/n(斜杠) | n代表数字,代表每隔n单位间隔的意思 |
代表意义 | 分钟 | 小时 | 日期 | 月份 | 周 | 命令 |
---|---|---|---|---|---|---|
数字范围 | 0~59 | 0~23 | 1~31 | 1~12 | 0~7 | 需要执行的命令 |
示例:0 17 * * 1-5 每周一到周五17;00
- crontab计划任务的配置模式
时间周期设置 任务内容设置
命令一定要用绝对路径,例如cp命令,要用/usr/bin/cp,可以使用which查看命令的绝对路径
三、总结
1、掌握程序、进程、线程
2. La commande pour visualiser le processus : ps aux ou ps -elf; top; pgrep; pstree;
3. Comment vérifier le processus enfant ? pstree ap ou cd /stat dans le fichier /proc/numbers
4. Démarrez le processus : démarrez au premier plan ; démarrez en arrière-plan (ajoutez & à la fin de la commande)
pour afficher la liste des tâches en arrière-plan : les tâches
appellent le processus en arrière-plan : numéro de liste de tâches fg
ctrl+z hang
kill -9 numéro de processus PID
pkill -9 numéro de processus PID
killall tous les processus
à heure : minute année-mois-jour
commande : ctrl D pour enregistrer et exécuter
numéro de série atq
atrm + numéro de série
crontab -e -u utilisateur (ne pas écrire l'utilisateur par défaut utilisateur actuel)
crontab -l -u utilisateur
crontab -r -u utilisateur
Format : jour, mois et semaine en temps partagé. Si vous oubliez, vous pouvez vérifier cat /etc/crontab
* représente n'importe quelle heure sans intervalle, par exemple 1, 2, 4 peut être toutes les deux semaines
— temps continu, ex : 1-7
/ fréquence des intervalles 1/* toutes les minutes 1/* toutes les deux heures 1/* tous les deux jours 1/* tous les deux mois