<VII>进程管理

it2025-05-15  14

文章目录

一、进程的定义二、进程的查看命令1.ps #进程查看2.pgrep #进程过滤3.top #动态进程查看 三、进程优先级四、进程前后台调用五、进程信息号六、systemd 守护进程1.实验环境2.远程操作主机3.守护进程4.systemctl 命令的用法


一、进程的定义

1)进程的定义:程序是静态的代码文件 >进程是指程序运行时的形态 >进程是程序的一个副本 >进程是有生命周期的(准备期,运行期,终止期) 2)进程&线程 >进程是资源调用的最小单位 >线程是进程的最小单位 >程序执行流是从上倒下贯穿运行的 >当进程是多任务,cpu 是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程 >线程资源是共享的.线程是进程里面子进程,能同时进行

3)进程状态(前4种正常,Z是病态)

状态显示状态含义R(TAKS_RUNNING)可执行态(running,ready) 包括正在进行和将要进行两个状态S(TASK_INTRRUPTABLE)可唤醒休眠 进程cpu处理该进程超时的时候,不执行了,进入后台;当要执行可执行的时候还能执行D(TASK_UNINTRRUPTABLE)不可唤醒休眠 程序所需要的资源,系统没有加载完成 。。加载完后会被处理T(TASK_STOP)暂停状态 人为操作Z(EXIT_ZOMBIE)僵死态 程序结束后仍然占用cpu资源不放(系统出现bug)

二、进程的查看命令

在桌面Applications–>sundry里的system monitor可查看电脑进程;或使用命令gnome-system-monitor #图形进程查看工具

1.ps #进程查看

指令含义代码a与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)ps ax与终端无关相关的进程 #ps ax #显示相关和不相关的,所有进程。ps xu用户信息归类的查看方式ps uf进程层级关系 进程里的子进程ps fo只显示指定的参数 pid comm nice pri pcpu ppid stat,user,groupps o pid,ppid,%cpu-e显示所有进程,=包括相关+不相关。与-e作用相同ps -e =ps ax-f显示信息的完整格式ps -f-H显示进程的层级结构ps -H-o只显示指定的参数ps -0 pid,ppid,%cpu–sort=查看排序ps ax -o %cpu,comm --sort=%cpu

ps ax 显示信息如下:

表头含义PID进程 idTTY进程用到的终端STAT进程状态TIME进程占用 cpu 时长COMMAND进程名称

ps aux 显示信息如下:

表头含义ps aux显示信息如下:USER进程所有人PID进程 id%CPU进程使用 cpu 的用量%MEM进程所用到的内存用量VSZ进程使用的虚拟内存大小RSS进程常驻内存中的数据大小TTY进程用到的终端STAT进程状态START进程运行时长TIME进程占用 cpu 时长COMMAND进程名称

2.pgrep #进程过滤

[root@westos_student3 ~]# pgrep -u 8001 #显示指定用户ID为8001的用户进程,或preg -U kiosk 显示指定用户名的用户进程 [root@westos_student3 ~]# pgrep -t pts/0 # 显示指定终端pts/0的进程 [root@westos_student3 ~]# pgrep -l 8001 #显示进程id为8001的进程名称 [root@westos_student3 ~]# pgrep-a 8001 #显示进程id为8001的完整名称 [root@westos_student3 ~]# pgrep-P 1855 #显示进程1855的子进程 [root@westos_student3 ~]# pidof vim #查看 vim 的 pid

3.top #动态进程查看

1)top 中的内容显示信息

top-含义09:48:51系统时间up 18:54运行时长2 users系统中有两个用户登陆load average: 0.75, 0.53, 0.411min 5min 15min Tasks含义331 total任务总量3 running正在运行329 sleeping休眠人物数量0 stopped被暂停数量0 zombie僵死人物数量 %Cpu(s)含义1.5 us用户空间1.9 sy内核空间0.0 ninice值调整时间58.9 id空闲时间0.0 wa等待 io 时间2.1 hi处理硬件中断时间0.2 si处理软件中断时间0.0 st被偷走的时间(vm 使用时间) MiB Mem含义7664.6 total总量5383.9 free空闲1312.1 used占用968.8 buff/cache缓存 MiB Swap含义4000.0 total总量4000.0 free空闲0.0 used占用2518.8 avail Mem可用内存

2)top 命令的参数 第一步:打开top

[root@westos_student3 ~]# top #打开top

第二步:输入参数

参数含义-d指定刷新频率-b以批次方式显示-n指定显示的批次数量

3)top 内部指令

参数含义Pcpu 排序M内存排序T累计占用 cpu 时间排序l关闭/开启 uptime 信息t关闭/开启 cpu&tasks指定刷新频率k操作进程。注:谨慎操作u查看指定用户进程

练习 :内存使用量排在前5的,只显示pid

[root@westos_student3 ~]# ps ax -o pid --sort=-%mem | head -n 6|tail -5 #前六个里面的后五个,去掉了表头PID

三、进程优先级

1)–>系统是多任务多用户的操作模式   -->任务的重要性是有区分的   -->如何确定任务的重要性     “优先级”范围: 0–139     内核自控优先级范围:0-99     用户可控优先级:100-139

注:ps —> unix范围是0到39   nice —> 20-19;nice范围是-20-19,即负20到正19 越负(数字越小)优先级越高。-20是100,-19是101(对应上面的用户可控优先级:100-139)   priority —> 0-139(linux里面的100-139对应unix范围是0到39)

[root@westos_student3 ~]# ps #进程查看 [root@westos_student3 ~]# ps -o comm,pid,stat,nice #只显示指定的参数 [root@westos_student3 ~]# renice -n 5 3046 #更改优先级位5,3046是进程id. [root@westos_student3 ~]# ps -o comm,pid,stat,nice #再显示一下指定的参数,发现进程的优先级已改 [root@westos_student3 ~]# renice -n -1 3046 #更改优先级位-1,3046是进程id. [root@westos_student3 ~]# nice -n -5 vim & #指定优先级打开进程,并挂在后台运行

2)stat的参数说明 S   #sleeping <   #优先级高 s   #顶级进程 T   #stop N   #优先级底 R   #running +   #运行在前台

四、进程前后台调用

第一步:gedit 或cat  &emsp#把进程挂起在后台(进程回车后,按ctrl + z) 第二步:bg 1   #把后台挂起的进程在后台运行起来,1为挂在后台的序号,可用jobs查看。或使用cat &   #直接运行进程在后台

第三步:fg 1   #把后台进程调回前台运行,结束进程需按ctrl + c

第四步:jobs   #查看当前 shell 中在后台的所有工作

五、进程信息号

进程信号含义1重新家在系统配置文件(source)2清空内存中的进程数据3清空内存中的鼠标(ctrl+)9强行结束进程(不能被阻塞)15正常关闭进程(会被阻塞)18运行被暂停的进程19暂停进程(不会被阻塞)20暂停进程(会被阻塞的) 进程信号控制工具含义kill进程信号 pid; 只关闭进程,不改变进程,不用重启killall进程信号 进程名字pkill进程信号 进程条件

六、systemd 守护进程

1.实验环境

linux.westos.com -------- > 172.25.254.10 node1.westos.com ----------> 172.25.254.20 pstree #查看进程树

2.远程操作主机

ssh 远程主机 ip -l 远程主机用户

3.守护进程

1)替内核分担程序控管的程序,通常 pid 为 1         systemd -----> systemctl         systemctl 管理系统服务 2)服务指在系统中开启的共享系统资源到网络中的程序         cs client ------ server

4.systemctl 命令的用法

start       ##开启 stop       ##关闭 status      ##查看状态 reload      ##重新加载 restart      ##重新启动服务 enable      ##设定服务开机启动 enable --now    ##设定服务开机启动并当前开启服务 disable      ##设定服务开启不其动 list-units      ##查看系统所有服务当前状态 list-unit-files     ##查看服务开机状态 list-dependencies    ##列出服务依赖性 mask       ##冻结服务 unmask      ##解锁 set-default     ##设定系统运行模式 #multi-user.target   无图形网络模式 #graphical.target   有图形的网络模式 get-default     ##查看系统运行模式 ##系统运行模式0-6        0 POWEROFF        1 single        2 noG+NETWORK        3        4        5 G+NETWORK        6 REBOOT

最新回复(0)