我对此并不是很熟练。 我安装了一个wheezy发行版,基础知识,所以我不能在脚本中使用'awk'命令。我无法在系统上更新或安装任何内容,因此存在一些困难。
无论如何,我有这个脚本接受一个可以是START / STOP / STATUS的参数。
#!/bin/bash
[ "$1" = "START" ] && ./bin/Process1
if [ "$1" = "STOP" ]
then
getprocess=`ps -ef|grep Process1`
set $getprocess
pid=$2
kill -9 $pid
fi
if [ "$1" = "STATUS" ]
then
if pgrep "Process1" > /dev/null
then
echo "Running"
else
echo "Stopped"
fi
fi
因此脚本RUNs / KILLs一个名称已知的进程。问题是,正如我现在所做的那样,它并没有完全杀死它,但仍然是从脚本中待处理的ZOMBIE进程。所以当运行STATUS时会弹出它正在运行。
为什么我的脚本在执行后不会消失,或者如何有效地清理这个过程?