Unix 执行命令(意外行为)

Unix 执行命令(意外行为),unix,Unix,ps-ef | grep“someprocess”输出行包含: .........................someprocess .........................ps -ef | grep "someprocess" 过程 ps-ef grep“某些过程” 有人能解释一下这是怎么执行的吗 如果我正在检查一个进程是否正在运行,那么它将一直处于运行状态 ps-ef | grep“someprocess”将始终存在 当然我知道我可以做ps-ef | grep“someproc

ps-ef | grep“someprocess”
输出行包含:

.........................someprocess .........................ps -ef | grep "someprocess" 过程 ps-ef grep“某些过程” 有人能解释一下这是怎么执行的吗

如果我正在检查一个进程是否正在运行,那么它将一直处于运行状态
ps-ef | grep“someprocess”
将始终存在 当然我知道我可以做
ps-ef | grep“someprocess”| grep-v“grep”

但我想知道执行上述规定的过程,以便弄清楚。为什么我在搜索一个进程时会得到刚才执行的行(
ps-ef | grep“someprocess
”)

为什么
grep
会出现?因为管道是在执行
ps
之前的一瞬间由shell创建的,所以当后者搜索所有加载的进程时,甚至可以找到
grep

或使用

默认情况下不会显示pgrep进程


同样,pkill也不会自杀:)

@mukesh:欢迎来到StackOverflow!最好用解决问题的答案旁边的绿色记号来表示。
pgrep -fl somepattern