进程管理-nohup ⚙️ — 后台运行(忽略挂断)

作用

nohup(no hang up)使命令忽略 HUP 信号继续运行,终端退出后进程不终止,输出默认保存到 nohup.out

语法

1
nohup 命令 [参数...]

用法

nohup 确保命令在退出登录后继续运行。输出默认追加到 nohup.out,可重定向:nohup CMD > OUTPUT.LOG 2>&1 && 放到后台执行。远程 SSH 会话中防止任务随断开而终止的标配。

常用参数

参数 说明
& 放后台执行
> FILE 重定向输出
2>&1 错误也定向到输出

示例

1
2
3
4
nohup sleep 100 &                         # 后台运行,退出终端不中断
nohup python SERVER.PY > SERVER.LOG 2>&1 & # 后台运行并重定向输出
nohup bash SCRIPT.SH & # 后台运行脚本
nohup ./LONG-TASK & # 后台运行耗时任务

来源:菜鸟教程

进程管理-pgrep ⚙️ — 按条件查找进程 PID

作用

pgrep 按模式匹配进程名并返回 PID,常用于脚本中检查进程是否存在。

语法

1
pgrep [选项] 模式

用法

pgrep 模式匹配进程名。-u 用户 筛选用户,-l 同时显示进程名,-x 精确匹配,-g 组 按组筛选。脚本中常用 pgrep nginx 检查进程是否存在。

常用参数

参数 说明
-u 用户 按用户筛选
-l 同时显示进程名
-x 精确匹配
-g 组 按组筛选
-t 终端 按终端筛选
-c 只显示匹配数量

示例

1
2
3
4
pgrep nginx                      # 查找 nginx 的 PID
pgrep -u ALICE -l # 查找 ALICE 的进程并显示名称
pgrep -x -u ALICE node # 精确匹配 ALICE 的 node 进程
pgrep -c ssh # 统计 ssh 进程数量

来源:菜鸟教程

进程管理-pidof ⚙️ — 查找进程 PID

作用

pidof 按精确程序名返回 PID,多实例时返回所有 PID。

语法

1
pidof [选项] 程序名

用法

pidof 比 pgrep 更严格(精确匹配进程名)。-c 只显示同根目录的进程,-s 单次模式只返回一个 PID。适合在脚本中获取特定守护进程的 PID。

常用参数

参数 说明
-c 只显示同根目录的进程
-s 单次模式(只返回一个 PID)
-o PID 排除指定 PID

示例

1
2
3
pidof nginx                      # 查找 nginx 的 PID
pidof -c nginx # 只显示同根目录的 nginx 进程
pidof nginx mysqld # 同时查找多个程序

来源:菜鸟教程

进程管理-pkill ⚙️ — 按模式匹配杀死进程

作用

pkill 按进程名、用户、终端等多条件筛选后发送信号,比 killall 更灵活。

语法

1
pkill [选项] 模式

用法

pkill 支持按进程名模式匹配。-x 精确匹配,-u 用户 限制用户,-t 终端 限制终端,--newest 只杀最新进程,--oldest 只杀最旧进程。-9 信号常组合使用。

常用参数

参数 说明
-x 精确匹配进程名
-u 用户 按用户筛选
-t 终端 按终端筛选
--newest 只匹配最新进程
--oldest 只匹配最旧进程
-9 SIGKILL
-15 SIGTERM

示例

1
2
3
4
pkill -9 nginx                   # 按名称匹配强制杀死
pkill -u ALICE -x node # 精确匹配 ALICE 的 node 进程
pkill --newest java # 只杀死最新的 java 实例
pgrep -l -t PTS/0 # 列出终端 PTS/0 上的进程(不杀)

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 3:进程查看与管理 | Day 5:本周串联实操

进程管理-ps ⚙️ — 显示进程快照

作用

ps(process status)显示当前系统的进程快照,常用组合 ps aux 查看所有用户进程,是进程查看的基础命令。

语法

1
ps [选项]

用法

ps 常用组合:ps aux 显示所有用户进程(BSD 风格),ps -ef 全格式列表(标准风格),ps -eo PID,PPID,CMD,%CPU 自定义字段。--sort=-%CPU 按 CPU 降序,-p PID 显示指定进程。配合 grep 查找特定进程。

常用参数

参数 说明
a 所有用户进程
u 显示用户格式
x 无终端进程
-e 全格式列表
-f 全格式
-o 字段 自定义输出字段
--sort 排序
-p PID 显示指定进程

示例

1
2
3
4
5
ps aux                          # 查看所有用户进程
ps -ef # 全格式进程列表
ps aux | grep nginx # 查找 nginx 相关进程
ps -eo PID,%CPU,%MEM --sort=-%CPU | head # 按 CPU 降序取前 10
ps -fp 1234 # 查看指定 PID 的详细信息

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 3:进程查看与管理 | Day 5:本周串联实操

进程管理-renice ⚙️ — 修改运行进程优先级

作用

renice 修改正在运行进程的 nice 优先级值。

语法

1
renice [选项] 优先级 -p PID...

用法

renice 调整已有进程的 nice 值。-n 19 -p PID 降低优先级。-u 用户 调整用户所有进程的优先级。只有 root 可提高优先级(负 nice)。

常用参数

参数 说明
-n N 设置 nice 值
-p PID 指定进程
-g 组 指定组
-u 用户 指定用户

示例

1
2
3
renice -n 10 -p 1234            # 降低 PID 1234 的优先级
renice -n 19 -p 5678 9012 # 将多个进程设为最低优先级
renice -n 5 -u ALICE # 调整 ALICE 所有进程的优先级

来源:菜鸟教程

进程管理-pstree ⚙️ — 树形显示进程关系

作用

pstree 以树状图展示进程间的父子关系,直观呈现系统服务拓扑结构。

语法

1
pstree [选项] [PID|用户]

用法

pstree 以树状展示进程层次。-p 显示 PID,-u 显示进程所有者,-H PID 高亮指定进程及其父链,-A ASCII 字符(非 UTF-8 终端)。-n 按 PID 排序。适合理解进程间启动关系。

常用参数

参数 说明
-p 显示 PID
-u 显示进程所有者
-H PID 高亮指定进程
-A ASCII 字符显示
-n 按 PID 排序
-l 显示长命令行参数
-g 显示进程组 ID (PGID)

示例

1
2
3
4
5
pstree                          # 树形显示所有进程
pstree -p # 显示进程 PID
pstree -u # 显示进程所有者
pstree -H 1234 # 高亮 PID 1234 的进程链
pstree ALICE # 只显示 ALICE 的进程树

来源:菜鸟教程

进程管理-time ⚙️ — 测量命令执行时间

作用

time 统计命令执行耗时,输出 real(实际)、user(用户 CPU)、sys(系统 CPU)三段时间。

语法

1
time 命令

用法

time 在命令执行完毕后输出统计:REAL 从开始到结束的总耗时,USER 用户态 CPU 时间,SYS 内核态 CPU 时间。-p POSIX 格式。-f 格式 自定义输出格式。脚本性能分析和基准测试的基础工具。

常用参数

参数 说明
-p POSIX 格式输出
-f 格式 自定义输出格式
-a 追加到文件
-o 文件 输出到文件

示例

1
2
3
time sleep 2                          # 测量 sleep 2 秒的实际耗时
time ls -la # 测量 ls 命令的执行时间
time -p make # POSIX 格式输出编译耗时

来源:菜鸟教程

进程管理-top ⚙️ — 实时进程监控

作用

top 实时动态显示系统进程活动和资源占用,按 CPU 或内存排序,排查系统性能问题的首选工具。

语法

1
top [选项]

用法

top 交互式界面:按 P 按 CPU 排序,M 按内存排序,K 输入 PID 杀进程,R 调整优先级(renice),1 查看每个 CPU 核心,Q 退出。-d N 刷新间隔秒数,-u 用户 只监控指定用户,-p PID 监控指定进程。

常用参数

参数 说明
-d N 刷新间隔(秒)
-u 用户 只监控指定用户
-p PID 监控指定进程
-H 线程模式
-b 批处理模式
-n N 刷新次数后退出

示例

1
2
3
4
5
top                             # 启动实时监控
top -d 5 # 每 5 秒刷新
top -u ALICE # 只监控 ALICE 的进程
top -p 1234 # 监控指定 PID
top -bn 3 > TOP.LOG # 批处理模式输出 3 次到文件

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 3:进程查看与管理 | Day 5:本周串联实操

进程管理-uptime ⚙️ — 查看系统运行时间

作用

uptime 一行显示当前时间、系统运行时长、登录用户数、1/5/15 分钟平均负载。

语法

1
uptime [选项]

用法

uptime 输出的平均负载若持续超过 CPU 核数表明系统过载。例如 8 核 CPU 负载持续 > 8 说明有瓶颈。-p 显示友好格式的运行时长,-s 自启动时间点。

常用参数

参数 说明
-p 显示友好格式的运行时长
-s 自启动时间点

示例

1
2
uptime           # 查看运行时长和平均负载
uptime -p # 显示友好格式的运行时长(如 up 1 hour, 15 minutes)

来源:菜鸟教程

📖 课程位置

本命令在以下课程中讲解:Day 3:系统资源监控 | Day 5:本周串联实操

0%