脚本杀死macos bash中的进程无法正常工作:非法进程id

时间:2017-05-21 05:53:36

标签: bash macos shell macos-sierra

我创建了这个函数,用部分名称杀死进程,把它放在bash_profile中,并执行它。 当我手动一次运行一个命令时,一切正常。 但是当我调用该函数时,它输出失败:“非法进程ID”

function killServer() {
   pid=$(ps -fe | grep '[p]rocessName' | awk '{print $2}')
   if [[ -n $pid ]]; then
      kill $pid
   else
      echo "Does not exist"
   fi
}

输出:

kill: illegal process id: i311821

正在运行

ps -fe | grep '[p]rocessName' 

给出:

1543721191 1947 1946 0 9:12 AM ?? 0:46.76 ../../jdk/bin/java -server -da -XX:PermSize = 256m Xrunjdwp:transport = dt_socket,address = 8000,suspend = n,server = y -DMonitorDisabled -Xms2048m -Xmx2048m -Dwrapper。 port = 32000 -com.XXX.YYY.server.util.Main -b 0.0.0.0 -c default 这是什么原因?

1 个答案:

答案 0 :(得分:-1)

发现问题: 2美元失踪后的空间。修复后,它可以工作:

   ps -ef | grep "[X]XX" | grep -v grep | awk '{print $2 }' | xargs kill -9