root@test:~# ps x | grep 'vsftpd'
568 ? Ss 0:00 /usr/sbin/vsftpd
28694 pts/0 S+ 0:00 grep --color=auto vsftpd
如何排除自我grep进程本身?另外,如何在给定进程名称的一部分的情况下获取进程ID(pid)?
我正在寻找一些东西,它会给我带有名称的pid并排除自我grep过程。
答案 0 :(得分:4)
传统方式是:
ps x | grep 'vsftpd'| grep -v grep
其中grep -v expr
返回 匹配expr
的所有内容
然后,您可以使用awk
提取相关字段(您的案例中的pid)
ps x | grep 'vsftpd'| grep -v grep | awk '{ print $2 }'
($2
对应相关字段/列)
答案 1 :(得分:4)
通常的伎俩是
ps x | grep '[v]sftpd'