假设有3个名为abc
,abcd
和abcde
的流程。
我正在使用以下命令查找进程ID:
ps -ef | grep abc | grep -v grep
这给出了所有3个进程的输出及其相应的pid:
user 6009 1 0 May 11 ? 0:23 ./abc
user 28047 1 0 Apr 24 ? 0:04 ./abcd
user 28548 1 0 Apr 27 ? 0:04 ./abcde
现在我想要的是一个grep的东西,只输出abc
的进程ID而不返回abcd
和abcde
。我知道使用grep -v "processname"
消除了我想要的东西但有什么简单和具体的东西吗?
答案 0 :(得分:7)
Android
答案 1 :(得分:3)
答案 2 :(得分:3)
这正是pgrep
的用途。
具体而言,您可以使用import reqPromise from 'request-promise';
import {Observable} from 'rx';
let httpGet_ = (url) =>
Observable
.combineLatest(
Observable.interval(200),
reqPromise(url),
(count, response) => response
);
httpGet_('http://google.com/')
.subscribe(
x => console.log(x),
e => console.error(e)
);
。
答案 3 :(得分:2)
为避免必须输入grep -v grep
,请执行以下操作:
ps -ef | grep '[a]bc\>'
\>
是一个词尾边界标记,所以你不会匹配“abcd”或“abcde”
将一个字符放入括号表达式意味着正则表达式将匹配字符串abc
,但它与字符串grep [a]bc
不匹配
我经常这样做,我写了一个函数,psg
psg () {
local -a patterns=()
(( $# == 0 )) && set -- $USER
for arg do
patterns+=( "-e" "[${arg:0:1}]${arg:1}" )
done
ps -ef | grep "${patterns[@]}"
}
答案 4 :(得分:0)
ps -ef | grep -w 'abc$' | grep -v grep
即。 $
abc
)
答案 5 :(得分:-1)
您还可以使用 top 命令查看所有正在运行的进程以及它消耗了多少资源。