插件窝 干货文章 linux过滤进程能否按优先级过滤

linux过滤进程能否按优先级过滤

优先级 进程 过滤 nice 195    来源:    2025-05-15

在Linux中,可以通过ps命令结合优先级(priority/nice值)来过滤进程。以下是具体方法:


1. 查看进程优先级(Nice值)

Linux进程的优先级范围是-20(最高)到19(最低),可以通过以下命令查看:

ps -eo pid,ni,comm
  • -eo:自定义输出字段。
  • pid:进程ID。
  • ni:Nice值(优先级)。
  • comm:命令名称。

2. 按优先级过滤进程

方法一:直接过滤特定Nice值

ps -eo pid,ni,comm | awk '$2 == 10'  # 过滤Nice=10的进程
  • 替换10为目标Nice值。

方法二:过滤优先级范围(如Nice < 0)

ps -eo pid,ni,comm | awk '$2 < 0'    # 过滤高优先级(Nice < 0)

方法三:结合pgrep(需安装procps-ng

pgrep -l --ns -P 1 | xargs -I {} ps -o pid,ni,comm -p {} | awk '$2 < 0'

3. 动态监控优先级变化

使用tophtop实时查看优先级:

top -c
  • R键可对进程按Nice值排序(htop中直接可见NI列)。

4. 调整进程优先级

如果需要修改进程优先级,可使用renice

sudo renice -n 5 -p <PID>  # 将进程PID的Nice值设为5

关键点总结

  • Nice值:数值越小,优先级越高(-20最高,19最低)。
  • 过滤工具ps + awk是核心组合,top/htop适合交互式查看。
  • 权限要求:修改优先级(Nice值)通常需要root权限。

通过以上方法,你可以高效地按优先级过滤和管理Linux进程。