我有一个bash脚本,如下所示:
if [[ "$1" == "stop" ]]; then
echo "[$(date +'%d/%m/%Y %H:%M:%S:%s')]: Killing all active watchers" >> $LOG
kill -9 $(ps -ef | grep "processname1" | grep -v "grep" | grep -v "$$" | awk
'{print $2}' | xargs)
echo "[$(date +'%d/%m/%Y %H:%M:%S:%s')]: Killing all current processname2
processes" >> $LOG
kill -9 $(ps -ef | grep "processname2" | grep -v "grep" | awk '{print $2}' |
xargs)
exit 0
当我运行“ x服务停止”时,将输出以下内容:
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill
-l [sigspec]
Killed
如何停止显示杀戮用法?它可以成功终止该进程,但是显示使用情况的事实导致AWS CodeDeploy失败。
谢谢!
答案 0 :(得分:1)
Adam,请注意,这实际上只是带有格式的注释。不要将此作为您问题的真实答案。请重点关注对您的问题的建设性意见。
在我度过的青春期里,我编写了这个bash函数来消除ps -ef | grep ....
的疯狂:
# ps-grep
psg() {
local -a patterns=()
(( $# == 0 )) && set -- $USER
for arg do
patterns+=("-e" "[${arg:0:1}]${arg:1}")
done
ps -ef | grep "${patterns[@]}"
}
使用以下知识:模式 [p]rocessname
与字符串 [p]rocessname