ps -ef | grep "someprocess"
输出行包含:
.........................someprocess .........................ps -ef | grep "someprocess"
有人可以解释一下这是如何执行的吗?
如果我正在检查正在运行的进程,那么它将一直运行起来
ps -ef | grep "someprocess"
永远在那里
当然我知道我可以做ps -ef | grep "someprocess" | grep -v 'grep'
但我想知道上面的执行过程要清楚。为什么我得到我刚刚执行的行(ps -ef | grep "someprocess
“)来搜索进程?
答案 0 :(得分:1)
为什么
grep
显示自己?因为管道是由shell在ps
执行之前的瞬间创建的,所以当后者搜索所有已加载的进程时,甚至会找到grep
。
答案 1 :(得分:1)
或使用
pgrep -fl somepattern
默认情况下不会显示pgrep进程
同样,pkill也不会自杀:)