Gestion des plans de processus

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
    insérer la description de l'image ici
  • Afficher les progrès actuels
    insérer la description de l'image ici
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)
    insérer la description de l'image ici
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 »
insérer la description de l'image ici
insérer la description de l'image ici

1.1.4 commande top – afficher dynamiquement les informations sur le processus

  • Processus de visualisation dynamique
    insérer la description de l'image ici
  • Triez les processus interrogés en fonction du taux de mémoire et appuyez sur shift+m ​​​​après la commande supérieure
    insérer la description de l'image ici
  • Afficher le processus en cours
    insérer la description de l'image ici
    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号,用户名,完整命令等信息

insérer la description de l'image ici

选项 代表意思
-A 各进程树之间连接以ASCLL字符来连接
-u 各进程树之间的连接以Unicode字符来连接,在某些终端界面下可能会有错误
-p 同时列出每个进程的pid
-u 同时列出每个进程的所属账号名称

1.2控制进程方式

进程启动方式为手工启动和调度启动

1.2.1手动启动

  • 前台启动:用户在输入命令,直接执行的程序
  • 后台启动:在命令行尾加入“&”符号
    当使用cp命令从光盘中制作镜像文件时,由于需要复制的数据较多,耗时较长,因此可结合“&”符号将复制操作放到后天运行,以便用户可以继续执行其他命令操作

insérer la description de l'image ici

1.2.2进程的前后台调度

  • ctrl+Z组合键:将当前进程挂起,即调入后台并停止执行
  • jobs命令:查看处于后台的任务列表
  • fg命令:将后天进程恢复到前台运行,可指定任务序列号insérer la description de l'image ici

1.2.3终止程序的运行

  • ctrl+c组合键:中断正在执行的命令
    insérer la description de l'image ici
  • kill,kallall命令
    • kill用于终止指定pid号
    • killall用于终止指定名称相关的所有进程
    • -9选项用于强制执行
      insérer la description de l'image ici
      insérer la description de l'image ici
  • pkill命令:根据特定条件终止相应的进程
-u 根据进程所属的用户名终止相应的进程
-t 根据进程所在的终端终止相应进程

二.计划管理

2.1使用at命令,设置一次性计划任务

  • at命令一次性计划任务
    insérer la description de l'image ici

2.2使用crontab命令,设置周期性计划任务

2.2.1crontab命令简介

  • crontab命令
    • 按照预先设置的时间周期重复执行用户的命令操作
    • 属于周期性计划任务
    • 服务脚本名称
  • 主要设置文件
    • 全局配置文件,位于文件:/etc/crontab
    • 系统默认的设置,位于目录:/etc/cron.*/
    • 用户定义的设置,位于文件:/var/spoolcron用户名
      insérer la description de l'image ici

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查看命令的绝对路径

insérer la description de l'image ici
insérer la description de l'image ici
insérer la description de l'image ici

三、总结

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

Je suppose que tu aimes

Origine blog.csdn.net/fyb012811/article/details/131988536
conseillé
Classement