Linux 进程管理是系统管理的重要部分,通过各种工具和命令,你可以查看、控制、调试和管理进程。以下是一些常用的 Linux 进程管理命令和工具。
查看进程
1. ps
ps
命令用于列出当前系统的进程。
- 查看当前用户的所有进程:
ps -u $USER
- 查看所有进程:
ps aux
- 查看进程树:
ps auxf
2. top
top
命令动态显示系统中各进程的资源使用情况。
top
按 q
退出,h
查看帮助。
3. htop
htop
是 top
命令的增强版,提供更友好的界面和交互功能。
sudo apt-get install htop
htop
4. pgrep
pgrep
命令根据名称查找进程的 PID。
pgrep <process_name>
控制进程
1. kill
kill
命令用于终止进程。
- 通过 PID 终止进程:
kill <PID>
- 强制终止进程:
kill -9 <PID>
2. pkill
pkill
命令通过进程名终止进程。
pkill <process_name>
- 强制终止进程:
pkill -9 <process_name>
3. killall
killall
命令通过进程名终止所有匹配的进程。
killall <process_name>
调整进程优先级
1. nice
nice
命令用于在启动进程时指定其优先级。
- 以较低优先级启动进程:
nice -n 10 <command>
2. renice
renice
命令用于调整正在运行的进程的优先级。
renice -n 10 -p <PID>
后台进程管理
1. &
将命令放到后台运行。
<command> &
2. jobs
查看当前 shell 的后台任务。
jobs
3. fg
将后台任务放到前台运行。
fg %<job_number>
4. bg
将暂停的后台任务恢复为运行状态。
bg %<job_number>
监控进程
1. strace
strace
用于跟踪系统调用和信号。
strace <command>
- 跟踪运行中的进程:
strace -p <PID>
2. lsof
lsof
列出打开的文件及其相关的进程。
lsof
- 列出某进程打开的文件:
lsof -p <PID>
- 列出某端口被哪个进程占用:
lsof -i :<port>
示例:常见操作
查看系统中所有的进程
ps aux
杀掉一个进程
kill <PID>
调整某个进程的优先级
renice -n 10 -p <PID>
将某个命令放到后台运行
<command> &
查看某个端口被哪个进程占用
lsof -i :80
通过这些命令和工具,你可以高效地管理和控制 Linux 系统中的进程。