Shell 杀死指定后台运行进程

利用& 符号,产生一个后台运行的进程,但是命令运行完成了,后台进程还在运行,搞得有点恼火,于是写个脚本,把后台进程给干掉


#!/bin/sh

mm="mm"
>$mm
cmd="adb -s 1111 logcat"
echo $cmd
`$cmd` >>$mm & 
id=$$
echo "Pid:"$id
sleep 5s
if [[ ! -s $mm ]]; then
	echo "device not found."
	ps -aux | grep "$cmd" | grep -v "grep" | awk '{print $2}' | while read line;
	do
		kill -9 $line
	done
	#kill -9  $id
else
	echo "OK"
fi

备注:

ps -aux | grep "$cmd" | grep -v "grep" | awk '{print $2}' 

是查找我需要杀死的进程信息;

kill -9 $line

因为$line信息输出的进程ID信息,利用KIll命令把进程给干掉。


你可能感兴趣的:(Bash)