哪些命令可以查看系统进程?

话题来源: 普通人也能看懂端口占用情况,别再重启机器了

说起查看系统进程这事,每个Linux/Unix用户都有一肚子的经验可以分享。记得我第一次登录服务器时,看着满屏滚动的进程信息愣是傻眼了——这可比Windows任务管理器”凶残”多了!不过话说回来,掌握了正确的命令工具,系统的运行状态就变得透明了许多。今天我们就来聊聊这些实用到爆的进程查看命令,保准让你对系统了如指掌。

老规矩:过程管理三板斧

最经典的pstophtop这三个命令,就像瑞士军刀一样不可或缺。ps aux这个组合简直绝了,a显示所有用户进程,u显示详细用户信息,x连没有终端的进程都不放过。有次我排查内存泄漏,就是靠ps aux --sort=-%mem | head揪出了那个狂吃内存的顽劣进程。

新生代选手

现在越来越多朋友喜欢用htop,界面友好得不像话,还能直接用鼠标点点点。不过生产环境还是习惯靠纯命令行的top,毕竟不用额外安装。对了,pgreppstree也特别好使,前者能按名字查找进程,后者把进程关系展示得像家谱一样清晰。

最近发现systemd体系的systemctl也超级强大,systemctl status 服务名能看到完整的进程树。Systemd真香定律又一次得到验证!不过说实话,用惯了service命令的老司机会觉得不太适应。

实战小技巧

记得有次排查问题,用watch -n 1 'ps aux | grep nginx'实时监控nginx进程变化,那效果简直像开了天眼。如果是Java系应用,jps命令会更专业,它能直接列出Java进程号和应用类名,对JVM调优特别有帮助。

大家尝试这些命令时会发现,Linux的进程管理真的很灵活。不同的命令组合能解决不同场景的问题,这大概也是Linux让人又爱又恨的地方吧。顺便吐槽一下,Windows的tasklist命令相比之下就太感人了…

评论