开发工具

Shell 进程管理命令

15 篇文章37 次收藏

在 Shell 中,进程管理命令用于监控、控制和操作系统中的进程。以下是一些常用的进程管理命令及其例子:

1. ps 命令

功能:显示当前系统中的进程状态。

常用选项:

-e:显示所有进程。

-f:全格式显示,包括 UID、PID、PPID、C、STIME、TTY、TIME 和 CMD 等字段。

-u user:显示指定用户的进程。

例子:

ps aux

这个命令会列出所有用户的所有进程,包括详细的进程信息。


2. top 命令

功能:动态显示系统中当前活动进程的信息,包括 CPU 使用率、内存使用情况等。

常用交互键:

q:退出 top。

k:终止一个进程。

例子:

top

执行后会进入一个交互界面,实时更新显示系统进程的资源占用情况。


3. pgrep 命令

功能:根据进程名或其他属性查找进程 ID。

常用选项:

-f:匹配完整的命令行。

-l:同时显示进程名和进程 ID。

例子:

pgrep -fl apache2

这个命令会查找名称中包含 "apache2" 的所有进程,并显示其进程名和进程 ID。


4. pkill 命令

功能:根据进程名发送信号给进程,通常用于终止进程。

常用选项:

-f:匹配完整的命令行。

-signal:指定要发送的信号,默认为 SIGTERM(终止进程)。

例子:

pkill -f "hung process"

这个命令会查找名称中包含 "hung process" 的所有进程,并发送 SIGTERM 信号以终止它们。


5. kill 命令

功能:发送信号给指定进程 ID 的进程。

常用信号:

SIGTERM(15):请求终止进程。

SIGKILL(9):强制终止进程。

例子:

kill -9 PID

这个命令会发送 SIGKILL 信号给进程 ID 为 PID 的进程,强制终止该进程。


6. nohup 命令

功能:在用户注销或终端关闭后继续运行指定的命令。

例子:

nohup ./my_script.sh &

这个命令会在后台运行 my_script.sh 脚本,并在用户注销或终端关闭后继续运行。


7. nice 和 renice 命令

功能:nice 命令用于以指定的优先级运行命令,renice 命令用于调整已运行进程的优先级。

常用选项:

-n:指定优先级值,范围通常为 -20(最高优先级)到 19(最低优先级)。

例子:

nice -n 10 ./my_process

这个命令会以优先级 10 运行 my_process。

renice 10 -p PID

这个命令会将进程 ID 为 PID 的进程的优先级调整为 10。


注意事项

1、在使用这些进程管理命令时,通常需要具有相应的权限,或者使用 sudo 命令来提升权限。

2、终止进程时要谨慎操作,确保不会意外终止关键的系统进程或服务。

3、进程优先级的管理需要谨慎,以免影响系统的整体性能和稳定性。