pgrep使用正则表达式作为模式样式。我想念grep的-i选项,告诉pgrep,我正在搜索不区分大小写。
另一种选择是
ps ax | grep -i PATTERN
但是我必须使用PID发送KILL信号。使用pgrep和pkill组合,我可以使用相同的模式来杀死应用程序。
如何在bash上动态使用正则表达式的REG_ICASE?
答案 0 :(得分:9)
如果字符串不太长:
pkill -f '[Pp][Aa][Tt][Ee][Rr][Nn]'
答案 1 :(得分:6)
kill `ps ax | grep -i PATTERN | awk '{ print $1 }'`
使用神奇的`
将杀死所有进程匹配不区分大小写的进程答案 2 :(得分:0)
在pgrep的手册页上:man pgrep
下的i
-i Ignore case distinctions in both the process table and the
supplied pattern.
因此,我们可以像下面这样使用选项i
:
pgrep -fi 'PATTERN'
即:
pgrep -f 'chrome'
echo $?
1
但是包含-fi
选项的工作原理是
pgrep -fi 'ChRoMe'
输出:
> 872
910
41391
60087
60090
60092