Linux中循环语句怎么实现每秒刷新监控一次进程

夏磊同学_8170

夏磊同学_8170

2026-10-27

213人浏览

原创

Linux中每秒刷新进程监控最常用方式是while循环加sleep 1配合ps、top -b -n1或pgrep;推荐用while true; do ps aux --sort=-%cpu | head -n 5; echo "---"; sleep 1; done,或watch -n 1 'ps aux --sort=-%mem | head -n 6'。

linux中循环语句怎么实现每秒刷新监控一次进程

在 Linux 中实现每秒刷新一次进程监控,最常用、最简洁的方式是用 while 循环 + sleep 1 配合 ps、top -b -n1 或 pgrep 等命令。不需要复杂脚本,一条命令就能搞定。

用 while + sleep 实时轮询(推荐)

这是最直接可控的方法,适合自定义筛选和格式化输出:

  • while true; do ps aux --sort=-%cpu | head -n 5; echo "---"; sleep 1; done
    每秒显示 CPU 占用前 5 的进程,加分割线便于区分刷新周期
  • while sleep 1; do clear; ps -eo pid,ppid,%cpu,%mem,comm --sort=-%cpu | head -n 10; done
    每秒清屏并显示资源占用最高的 10 个进程,视觉更清晰

用 watch 命令替代循环(更轻量)

watch 是专为周期性执行设计的工具,默认 2 秒间隔,可设为 1 秒:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • watch -n 1 'ps aux --sort=-%mem | head -n 6'
    每秒刷新,显示内存占用前 5 的进程(含表头共 6 行)
  • watch -n 1 -d 'pgrep -f nginx | wc -l'
    高亮变化地统计 nginx 进程数,-d 参数让变动部分闪烁

监控指定进程是否存在或状态变化

如果只关心某个服务是否存活,可用更轻量的判断逻辑:

  • while sleep 1; do if pgrep -x "sshd" > /dev/null; then echo "$(date): sshd ✔"; else echo "$(date): sshd ✘"; fi; done
  • 配合 systemctl is-active: while sleep 1; do systemctl is-active docker 2>/dev/null | sed "s/^/$(date +%T): /"; done

注意事项和优化建议

避免常见坑,让监控稳定又省资源:

  • 慎用 top -d 1:它本身是交互式程序,非批处理模式下在脚本中可能卡住;应改用 top -b -n1 -d1(但不如 ps 轻量)
  • 减少输出量:加 | head 或 --no-headers 可降低终端渲染压力
  • 退出方式:按 Ctrl+C 终止所有上述命令;若后台运行,记下 PID 或用 pkill -f "your_command" 关闭
  • 如需日志记录,可在循环末尾追加 >> monitor.log 2>&1,但注意文件增长

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4250

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3593

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2833

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6930

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6582

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3793

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3285

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3519

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习