目录

一、为什么要进行进程管理

二、程序和进程的关系

2.1 什么是程序和进程

2.2 父进程和子进程

三、查看进程信息

3.1 ps命令(静态)

3.2 top命令(动态)

3.3 pgrep命令

3.4 pstree命令

四、进程的前后台调度

4.1 &

4.2 Ctrl + Z组合键

4.3 jobs命令

五、终止进程

5.1 Ctrl + C组合键

5.2 kill 命令

5.3 killall命令

5.4 pkill命令

六、计划任务管理

6.1 一次性任务:at命令

6.2 周期性任务:cron命令

七、总结


一、为什么要进行进程管理

进程管理是操作系统管理进程和资源的关键部分,在Linux中,进程是系统中所有任务的核心,进程管理命令主要用于查看、控制和调度系统中的进程。

二、程序和进程的关系

2.1 什么是程序和进程

程序:程序是存储在硬盘上的可执行代码。比如:firefox.exe

进程:进程是程序在运行是的示例。每当你运行一个程序,操作系统会创建一个进程,分配内存和CPU时间来执行这个程序。

2.2 父进程和子进程

父进程:父进程是创建其他进程的进程。

子进程:子进程是由父进程创建并执行的独立进程。

三、查看进程信息

3.1 ps命令(静态)

ps -aux:显示所有进程,包括其他用户的进程。

ps -ef:以标准格式显示所有进程。

ps -aux | grep httpd:通过管道符使用grep命令过滤进程。

ps -eo:指定查看

3.2 top命令(动态)

top命令用于动态查看Linux系统中运行的进程和资源使用情况并事实显示。

常见的快捷方式:

P:按CPU使用率排序。

M:按内存使用率排序。

T:按时间排序。

q:退出。

1:查看几个CPU

3.3 pgrep命令

pgrep -l -u mzy

常用参数:

-l:同时输出对应进程名和PID。

-u:查询特定用户的进程。

-t:查询在特定总段运行的进程。

3.4 pstree命令

pstree命令以树形结构列出进程信息。

使用pstree需要安装psmisc:yum install psmisc -y 。

psmisc是一个使用进程管理工具集,包含pstreekillall。

常用参数:

-p:可以同时列出进程对应的PID。

-u:可与列出进程对应的用户名。

-a:可以列出完整的命令信息。

pstree -aup命令可以查看当选系统的进程树。

四、进程的前后台调度

4.1 &

&放在命令末尾,可以让进程在后台进行

4.2 Ctrl + Z组合键

当Linux操作系统中命令正在前台执行时(运行未结束),按Ctrl  + Z组合键可以将当前进程调入后台并停止执行。

4.3 jobs命令

jobs命令用于查看当前会话中运行的后台任务。

jobs -l:列出当前所有后台任务和进程ID。

bg(BackGround):将后台中暂停执行的任务恢复到后台继续运行。

fg(ForeGround):将后台中的任务恢复到前台运行。

五、终止进程

5.1 Ctrl + C组合键

Ctrl + C组合键中断正在执行的命令。

5.2 kill 命令

kill 命令用于发送信号给进程,通常用来终止进程。

常用选项:

-9:强制终止进程。(不管进程有没有做完,直接被清理)

-3:终止进程并生成报告。(常用于Java)

-15:优雅的终止进程。(等待进程做完然后被清理)

5.3 killall命令

killall 命令根据进程名终止进程。

5.4 pkill命令

pkill 命令根据进程属性(用户名、终端等)终止进程。

六、计划任务管理

6.1 一次性任务:at命令

at [HH:MM] [yy-mm-dd]

at> [要执行的命令]

常用选项:

atq:列出待执行的任务。

atrm 任务编号:删除指定任务。

6.2 周期性任务:cron命令

cron 命令用于设置定期执行的任务,可以通过crontab 命令编辑和管理计划任务。

常用命令:

crontab -e:编辑当前用户的cron任务。

crontab -l:列出当前用户的cron任务。

crontab -r:删除当前用户的所有cron任务。

其他命令:

crontab -u 用户名 :指定用户的cron服务。

crontab -u mzy -l :列出mzy用户下的cron的详细内容。

crontab -r :删除所有用户的cron内容,普通用户执行,只删除自己的cron内容。

crontab -r -u mzy :删除mzy用户的cron内容。

使用crontab命令要启动crond服务。

命令格式:

* * * * * 分别为分、时、日、月、周

代表8:30开启httpd服务,21:00关闭httpd服务。

代表每隔两天删除/var/ftp/pub目录下的所有内容。

注意:不建议这样写,仅作为示例。

七、总结

进程是程序运行的实例:Linux 通过进程管理来控制系统资源。查看进程用 ps(静态快照,可自定义字段)和 top(动态实时监控,按 P/M 排序);pstree 以树形展示父子关系,pgrep 按条件查 PID。

前后台调度:& 启动时后台运行,Ctrl+Z 暂停并挂起,jobs 查看任务,bg 恢复后台运行,fg 调回前台。

终止进程:kill 发信号,默认 -15(优雅终止),-9 强制杀死(最后手段),-3 生成调试信息。killall 和 pkill 可按名称或用户批量终止。

计划任务:at 做一次性任务,croncrontab -e 编辑)做周期性任务,格式为“分 时 日 月 周 命令”,注意用绝对路径。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐