Linux服务器进程管理的核心依赖2个高频工具,覆盖所有日常操作,无需额外安装。
ps输出静态进程快照,适合按关键词过滤找进程,核心命令:
ps -ef | grep 关键词
其中-ef参数会显示所有完整进程,grep用于过滤匹配关键词的进程。示例:找nginx进程直接执行:
ps -ef | grep nginx
输出的关键列中,PID(进程ID)是后续所有操作的唯一标识,必须准确记录;若过滤时出现grep自身进程,可加| grep -v grep排除干扰,命令改为:
ps -ef | grep nginx | grep -v grep
top是动态进程监控工具,适合排查CPU、内存占用过高的异常进程,直接执行命令:
top
默认按CPU占用从高到低排序,按M键可切换为内存占用排序,按q键退出监控页面。重点操作:找到异常进程后,按k键进入杀进程模式,输入该进程的PID后回车,默认信号为15(优雅终止,优先使用),若需强制杀才填信号9。
所有操作围绕PID展开,避免无目标操作,以下为高频场景的标准流程。
分两种场景适配:
kill PID,比如PID为8765的nginx进程,执行:kill 8765killall nginx若kill后进程未消失,说明进程处于阻塞或占用状态,执行:
kill -15 PID

信号15是标准优雅终止,会让进程自行释放资源;仅在信号15完全失效时,才使用强制终止:
禁止随便用信号9,会导致进程未保存的任务丢失
强制终止命令:kill -9 PID
修改进程配置后无需杀进程再重启,用重载命令实现无缝更新,分两种场景:
systemctl reload 服务名,比如nginx:systemctl reload nginxkill -HUP PID重载仅加载新配置,不会中断服务,比重启更安全高效。
通过SSH启动的进程,SSH断开后会自动终止,用nohup命令实现后台常驻,操作步骤:
nohup python3 test.py &
ps -ef | grep test.pytail -f nohup.out必须加&,否则进程会占用当前终端,无法继续操作
原因1:进程为僵尸进程(子进程结束后父进程未回收资源),解决:查父进程ID并杀父进程:
ps -ef | grep PID | awk '{print $3}' 获取父PID
kill -9 父PID
原因2:进程被守护进程(如systemd)自动拉起,解决:禁用对应服务:systemctl stop 服务名
原因1:关键词错误或进程未启动,解决:用pgrep直接查询对应进程的PID:pgrep 进程名,比如查nginx:pgrep nginx,会直接输出PID,无需额外过滤
原因2:进程路径不在默认显示中,解决:用全路径过滤:ps aux | grep /usr/bin/nginx
所有操作的核心是PID,优先使用优雅终止(kill、reload),仅在必要时用强制杀;后台进程必须加nohup和&;常用命令固定记忆:ps -ef、top、kill、nohup、pgrep,无需记忆复杂参数,覆盖99%的日常进程管理需求。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图