ps ef grep命令详解

说实话,我当年刚学Linux那会儿,对着终端一脸懵,看到ps-ef|grep这种命令直接傻眼。
不过后来慢慢摸透了,发现这玩意儿特别实用,就像个万能钥匙。

就拿我之前调试一个Java服务来说吧。
那会儿系统报错,但进程堆里简直跟沙丁鱼罐头似的,几百个进程挤一块儿。
我就直接敲了ps-ef|grepjava,结果瞬间就揪出来了那个出问题的Tomcat进程。
有意思的是,输出里头第一行居然是grep自己,当时我还纳闷呢,后来才知道是命令本身触发了这个筛选。

这里头每个选项都有讲究。
比如用-f的时候,我见过一个哥们儿查系统日志,非要用ps-f直接看进程信息,结果漏掉了好多细节。
后来我提醒他用ps-ef,他才明白为啥父进程ID和启动参数都看不见。
而grep的部分,记得有次我带实习生,他非要把ps-ef|grepjava写成ps-ef|grep[java],结果报错半天。
我就拿笔在白板上画了个管道符号,告诉他"这玩意儿就像快递分拣,ps把所有包裹扔过来,grep按地址筛选",他一听秒懂。

现在用起来特别顺手。
比如我要找某个特定脚本,就会用ps-ef|grep.sh。
但有时候也踩坑,比如grep'^(java|tomcat)$'这种正则,新人总写成grepjava|greptomcat,结果匹配全乱套。
我教他们时就说:"想找双壳蛋,别用俩漏勺各打水漂,得用根绳儿拴住。
"
最绝的是结合pgrep用。
记得有一次系统卡死,常规ps-ef半天反应不过来,我直接用pgrepjava得到PID,再查详细信息,效率高多了。
不过说实话,这种组合拳用多了,反而觉得ps|grep这种原始方式更踏实,至少每个字符都明白在干嘛。

Linux系统中,管理员先执行ps -ef |grep redis,其作用是()。

Bps啊...这个是Linux里看的进程信息的命令。
说实话,我当时也没想明白为啥叫Bps,可能是跟Byte per second啥的混一块儿了。

-A这个参数呢,就是显示所有进程。
你看啊,系统里跑着那么多东西,用-A就能都看到。

-e这个参数...跟-A效果差不多。
我当时试过,感觉没啥区别。
可能早期版本是这样,现在都合并了吧?
-f这个参数是关键。
它会显示UID啊,PPIP啊,C(这个是命令运行次数吧?记不清了),还有STIME(启动时间)。
挺详细的。

联合使用是重点。
比如ps-ef|grepredis这条命令。
你看,ps-ef把所有进程信息都列出来了,然后|这个竖道是管道,就是把ps输出的信息,直接传给后面的grep。

grepredis呢,就是过滤,只找带redis的进程。
所以整条命令的意思,就是看所有进程里,哪个进程跟redis有关系。

就这么回事儿。

在linux里面ps -ef | grep tomcat 什么意思

ps -ef | grep tomcat
这是坑、别信、别这么干。

用 pgrep -af tomcat。

linux命令ps-ef|grephttpd是啥意思

直接说,ps -ef | grep httpd是找Apache进程的命令。

说白了,ps -ef列出所有进程。

用grep httpd过滤出带httpd的。

上周刚处理一个服务器卡死问题,就是用这个命令找到慢进程。

你自己看,简单不?