ps -ef|grep Dflag=${APP_NAME}|grep -v grep|grep -v tail|awk 'BEGIN{printf "kill "}{printf "%s ", $2}'|bash echo "${APP_NAME} stopped!"
说明:
ps -ef 【获取当前活动的进程】
grep abc 【包含字符串abc】
grep -v abc 【不包含字符串abc】
ps -ef|grep Dflag=${APP_NAME}|grep -v grep|grep -v tail 【在所有活动进程中过滤带有 “Dflag=xxx”字符串的值,同时不包含“grep” 同时 不包含 “tail”】
awk 'BEGIN {printf "kill "} {printf "%s ", $2}'|bash 【打印 kill + 进程号【使用ps -ef 显示的列表中 第二列为 进程号】 比如进程号为 11891 则会输出 kill 11891 命令最后一行 |bash 代表 执行 kill 11891 即 要杀死这个进程,如果不写 |bash 则仅打印 不会执行】