Linux进程管理
目录
一、为什么要进行进程管理
进程管理是操作系统管理进程和资源的关键部分,在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是一个使用进程管理工具集,包含pstree和killall。
常用参数:
-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做一次性任务,cron(crontab -e编辑)做周期性任务,格式为“分 时 日 月 周 命令”,注意用绝对路径。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

























所有评论(0)