问题描述
- linux shell脚本问题,急求
-
#!/bin/bashSERNAME=$1 kill_process() { PID=$(ps -ef | grep $SERNAME | grep -v 'grep' | awk '{print $2}') echo $PID kill -9 $PID sleep 2 } kill_process 这上边的脚本命名为a.sh,我在执行时是 a.sh server1,但会出错,不是报错,是杀错进程,一般显示: 1234 1234 killed 如果不用参数执行,直接 PID=$(ps -ef | grep server1 | grep -v 'grep' | awk '{print $2}') 就不会出错,一般执行完毕后什么都不显示,但进程会杀掉 这是怎么回事??
解决方案
Linux shell脚本
linux shell脚本犯错
Linux shell脚本——if运算例子
解决方案二:
PID=$(ps -ef | grep $SERNAME | grep -v 'grep' | awk '{print $2}')
改成
PID=$(ps -ef | grep $SERNAME | grep -v 'grep' | grep -v 'a.sh' | awk '{print $2}')
试试(a.sh换成你实际执行的脚本名字)
时间: 2024-09-10 11:12:52