一、进程管理基础认知
进程是Linux系统中正在执行的程序实例,是资源分配和任务调度的基本单位。与静态存储在硬盘上的程序不同,进程会占用CPU、内存等系统资源,并在生命周期中呈现不同状态(运行、休眠、僵死等)。合理管理进程能避免资源浪费、解决程序卡死问题,保障系统稳定运行。
二、常用进程查看命令(简易版)
(一)快速查看:ps命令(静态)
ps命令是查看进程的基础工具,核心用法简单好记:
-
ps aux:查看系统中所有进程的关键信息,包括用户、PID(进程唯一ID)、CPU/内存占用率、启动命令等。
-
ps -ef:显示进程的父子关系(PPID列),方便追踪进程来源。
-
实用技巧:结合grep过滤特定进程,比如ps aux | grep firefox,快速找到火狐浏览器进程
执行如下的“ps aux”命令后,将以简单列表的形式显示出进程信息,如图所示
ps aux

上述输出信息中,第一行为列表标题,其中各字段的含义描述如下:
- USER:启动该进程的用户账号的名称。
- PID:该进程在系统中的数字ID号,在当前系统中是唯一的。
- %CPU:CPU占用的百分比
- %MEM:内存占用的百分比
- VSZ:占用虚拟内存(swap空间)的大小
- RSS:占用常驻内存(物理内存)的大小
- TTY:表明该进程在那个终端上运行。“?”表示未知或不需要终端
- STAT:显示进程当前的状态,如S(休眠),R(运行),Z(僵死),<(高优先级),N(低优先级),s(父进程),+(前台进程)。对处于僵死状态的进程应该予以手动终止。
- START:启动该进程的时间
- TIME:启动该进程占用的CPU时间
- COMMAND:启动该进程的命令的名称
(二)动态监控:top命令
top命令像“系统任务管理器”,实时刷新进程状态(默认3秒/次):
-
核心功能:
-
顶部显示系统整体状态(总进程数、CPU/内存使用率、负载平均值)。
-
按P键按CPU占用排序,按M键按内存占用排序,快速定位资源消耗大户。
-
按k键输入PID,可直接终止指定进程,无需切换命令行。
-
-
退出方式:按q键即可返回终端。
执行如下“top”命令可获得如图所示
top

上述输出信息中,开头的部分显示了系统任务(tasks),CPU占用,内存占用(mem),交换空间(swap)等汇总信息,汇总信息下方依次显示当前进程的排名情况。相关信息的含义表述如下。
- 系统任务(tasks)信息:total,总进程数:running,正在运行的进程数;sleeping,休眠的进程数;stopped,中止的进程数;zombie,僵死无响应的进程数
- CPU占用信息:us,用户占用;sy,内核占用;ni,优先级调度占用;id,空闲CPU;wa,I/O等待占用;hi,硬件中断占用;si,软件中断占用;st,虚拟化占用。要了解空闲的CPU百分比,主要看%id部分。
- 内存占用(mem)信息:total,总内存空间;free,空闲内存;used,已用内存;buff/cache,物理内存和交换内存的缓冲区总和。
- 交换空间(swap)占用:total,总交换空间;free,空闲交换空间;used,已用交换空间;availmem,可用物理空间。
例如,从上述“tasks:….”部分信息可得知当前共有238个进程,其中正在运行的1个,休眠状态的237个,停止和僵死状态的0个。
(三)精准查询:pgrep与pstree
-
pgrep 进程名:直接返回指定进程的PID,比如pgrep sshd,快速获取SSH服务进程ID。
-
pstree:以树形结构展示进程关系,一眼看清父进程和子进程,加上-p选项可显示PID(pstree -p)。
三、进程控制核心操作
(一)启动进程
-
前台启动:直接输入命令,比如ls,执行完成前无法输入其他命令。
-
后台启动:命令末尾加&,比如cp /home/file.iso /data/ &,进程在后台运行,不影响当前操作。
(二)进程调度与切换
-
挂起进程:前台进程运行时按Ctrl+Z,暂时暂停进程并转入后台。
-
查看后台进程:jobs命令,显示后台进程的任务编号和状态。
-
恢复进程:bg 任务编号(后台恢复运行),fg 任务编号(调回前台运行)。
(三)终止进程
-
前台进程:直接按Ctrl+C强制中断(比如终止卡死的命令)。
-
按PID终止:kill PID(正常终止),kill -9 PID(强制终止,用于无响应进程)。
-
按名称终止:killall 进程名,比如killall vim,批量终止所有vim进程,适合多实例进程。
补充知识点:进程状态识别
通过ps/top命令的STAT列,可判断进程状态,快速排查问题:
-
R(运行):正在占用CPU执行任务。
-
S(休眠):等待资源(如IO),可被唤醒。
-
Z(僵死):进程已结束但资源未释放,需用kill -9强制清理。
-
<(高优先级):系统优先分配资源的进程。
-
N(低优先级):资源分配优先级较低的进程。
四、计划任务管理
计划任务用于自动化执行重复操作(如备份、日志清理),无需人工干预,核心工具为at(一次性任务)和crontab(周期性任务)。
(一)一次性任务:at命令
使用at需要先安装相关软件包
dny -y install at (安装)
systemctl start atd (启动)
date (查看日期)
适用于只执行一次的操作(如定时关机、临时备份):
-
前提:启动atd服务(systemctl start atd),确保任务能正常触发。
-
基本用法:
-
输入at 时间,比如at 22:30(当天22:30)或at 10:00 2025-12-31(指定日期时间)。
-
进入任务编辑界面,输入要执行的命令(比如shutdown -h now关机)。
-
按Ctrl+D提交任务。
-
-
管理命令:atq查看待执行任务,atrm 任务编号删除任务。
(二)周期性任务:crontab命令
适用于重复执行的操作(如每日备份、每周清理日志):
-
前提:启动crond服务(systemctl start crond),系统默认自启。
系统任务配置文件:/etc/crontab
用户cron任务的配置文件存放目录:/var/spool/cron
1. 核心配置格式
每条任务占一行,格式为:分钟 小时 日期 月份 星期 命令
-
取值范围:
-
分钟:0-59 小时:0-23 日期:1-31 月份:1-12 星期:0-6(0代表周日)
-
-
特殊符号:
-
*:任意时间(比如小时位填*,表示每小时)。
-
-:连续范围(比如1-5,表示周一到周五)。
-
,:离散时间(比如3,6,9,表示3点、6点、9点)。
-
/:间隔频率(比如*/10,表示每10分钟)。
-
2. 常用命令
-
crontab -e:编辑当前用户的计划任务。
-
crontab -l:查看当前用户的计划任务。
-
crontab -r:清空当前用户的所有计划任务。
-
crontab -u :指定所管理的计划任务属于哪个用户,默认是针对当前用户(自己),一般只有root用户有权限使用此选项(用于编辑,删除与其他用户的计划任务)
执行命令需输入绝对路径!!!!!!!!!!!!!!!!!
3. 实用示例
-
每天7:30启动SSH服务:30 7 * * * /usr/bin/systemctl start sshd
-
每周六23:00清理/tmp目录:0 23 * * 6 /usr/bin/rm -rf /tmp/*
-
每5天备份一次/etc目录:0 0 */5 * * /usr/bin/tar -czf /backup/etc_$(date +%Y%m%d).tar.gz /etc
补充知识点:计划任务注意事项
命令必须写绝对路径(比如/usr/bin/cp而非cp),避免因环境变量问题执行失败。
避免设置过于频繁的任务(如每分钟执行一次),防止占用过多系统资源。
敏感操作(如删除文件)建议先测试命令有效性,再写入计划任务。
普通用户只能设置自己权限范围内的任务,root用户可管理所有用户的计划任务(crontab -u 用户名 -e)。
五、核心总结
进程管理:用ps查静态信息、top看动态状态,用kill/killall终止异常进程,灵活运用前后台切换提升操作效率。
计划任务:一次性任务用at,周期性任务用crontab,掌握时间格式和符号用法,即可实现自动化运维。
关键原则:操作前确认进程/PID,计划任务优先使用绝对路径,定期检查任务执行结果,确保系统稳定高效运行。
网硕互联帮助中心



评论前必须登录!
注册