Linux 进程管理
2025-02-17
1. 进程基础
1.1 进程概念
- PID (进程ID)
- PPID (父进程ID)
- 进程状态 (运行、睡眠、停止等)
- 进程优先级
- 资源使用情况
1.2 查看进程
# 查看所有进程
ps aux
# 实时进程监控
top
# 树形显示进程
pstree
# 查看特定进程
ps -fp PID2. 进程控制
2.1 启动进程
# 前台启动
command
# 后台启动
command &
# nohup 启动
nohup command &2.2 停止进程
# 正常终止
kill PID
# 强制终止
kill -9 PID
# 终止进程组
killall process_name2.3 进程状态控制
# 暂停进程
kill -STOP PID
# 继续进程
kill -CONT PID
# 重新加载配置
kill -HUP PID3. 进程监控
3.1 资源使用
# CPU 使用率
top -p PID
# 内存使用
free -h
vmstat 1
# IO 使用
iotop3.2 进程跟踪
# 系统调用跟踪
strace command
# 库函数跟踪
ltrace command
# 文件访问跟踪
lsof -p PID4. 进程优先级
4.1 nice 值调整
# 启动时设置优先级
nice -n 10 command
# 修改运行中的进程优先级
renice 10 -p PID4.2 实时优先级
# 设置实时优先级
chrt -f 99 command
# 查看进程优先级
chrt -p PID5. 守护进程
5.1 systemd 服务
# 创建服务文件
vim /etc/systemd/system/myservice.service
# 启动服务
systemctl start myservice
# 开机自启
systemctl enable myservice
# 查看服务状态
systemctl status myservice5.2 服务管理
# 重启服务
systemctl restart myservice
# 重新加载配置
systemctl reload myservice
# 停止服务
systemctl stop myservice6. 进程通信
6.1 信号
# 发送信号
kill -SIGTERM PID
# 查看所有信号
kill -l6.2 管道和重定向
# 管道
command1 | command2
# 输出重定向
command > file.txt
command >> file.txt
# 错误重定向
command 2> error.log7. 性能优化
7.1 资源限制
# 设置资源限制
ulimit -n 65535 # 文件描述符
ulimit -u 2048 # 进程数
# 进程资源控制
cpulimit -p PID -l 50 # CPU 限制7.2 进程 CPU 绑定
# CPU 绑定
taskset -pc 0,1 PID
# 内存策略
numactl --cpunodebind=0 command