/bin/bash -c ps -ef | grep java 返回的结果有问题

Madai_ 发布于 2015/06/09 16:15
阅读 1K+
收藏 0

在linux上执行命令

ps -ef | grep java

结果:root     13317     1  2 16:05 pts/0    00:00:10 /usr/bin/java -Djava.util.logging.config.file

/bin/sh -c ps -ef | grep java

结果:13317 pts/0    00:00:10 java

不知道为什么会这样?

怎么才能让/bin/sh -c ps -ef | grep java返回的结果和ps -ef | grep java一样呢?

以下是问题补充:

@Madai_:现在要在java中获取所有java进程,但是直接执行ps -ef | grep java 不可以,网上查的需要用/bin/sh -c的这种方式,但是现在无论在java中还是直接在终端执行命令,都获取不到想要的结果。不知道该怎么办了。 (2015/06/09 16:17)
加载中
0
如比如比
如比如比

/bin/sh -c ' ps -ef | grep java'

-c 的命令要括起来才是一个完整的,不然只是前面的那部分。不要grep行时,用这个

/bin/sh -c ' ps -ef | grep java | grep -v grep'

man 一下,有帮助信息的。


返回顶部
顶部