想通過ps -ef |grep erdp_ |awk '{print $2}' 獲取 erdp_ 開頭的進程id, 執行在終端環境下執行是ok的,但是在 sh 腳本里面竟然多出了 兩個
root 11400 4280 0 17:08 pts/5 00:00:00 /bin/bash ./kill.sh erdp_system_app
root 11401 11400 0 17:08 pts/5 00:00:00 /bin/bash ./kill.sh erdp_system_app
root 11403 11401 0 17:08 pts/5 00:00:00 grep erdp_system_app
root 29942 1 3 12:22 pts/0 00:10:10 java -Xms512m -Xmx512m -Dfile.encoding=UTF-8 -DSERVER_PORT=8082 -jar erdp_system_app-2.0.0-SNAPSHOT.war linkServerPId
ps -ef |grep erdp_ |awk '{print $2}' | grep -v 可以過來 第三行, 但是 前面兩行是怎么出現的呢?
不管怎么樣, 通過下面的命令就好了:
ps -ef |grep erdp_ | grep -v | grep -v 文件名
或者:
ps -ef |grep erdp_ | grep -vE '(grep|/bin/bash)'