我在linux命令行中运行以下脚本:
ps -ef| grep "java -Droute=full" | awk 'NR!=1{print $2}' | while read output;
do
pid=$(echo $output)
kill $pid
done
我收到以下错误:
awk: cmd. line:1: NR!=1{print
awk: cmd. line:1: ^ unexpected newline or end of string
我相信引号和空格是一致的,但为什么我仍然会收到此错误?
ps -ef | grep "java -Droute=full"
root 24441 1 0 Apr22 ? 00:00:00 sudo nohup java -Droute=full -jar abc
root 24442 24441 7 Apr22 ? 06:41:10 java -Droute=full -jar abc
user 30804 30771 0 05:27 pts/0 00:00:00 grep --color=auto java -Droute=full
答案 0 :(得分:2)
您尝试解决的实际问题类似于"如何终止其命令行包含java -Droute=full
的进程。
更简单,更安全的方法是使用pkill
:
pkill -f 'java -Droute=full'
这将取代整个脚本。