先把本人的shell脚本贴出来,如有不对的地方请指正
#!/bin/bash
AAA="`pgrep httpd`"
[ -z "$AAA" ] && echo 'httpd is not running' && exit 0
for i in $AAA
do
kill -9 $i
done
echo "httpd is killed"
下面做一说明
第二行: 其中pgrep httpd是用来获取httpd的PID,而``符号是为了先执行。将执行的结果赋值给变量AAA
第三行:其中-z 为判断 变量AAA是否为空,由于pgrep取出的PID之间有空格分开,所以使用""来将所有的PID标注为一个变量。&&为逻辑与符号,若AAA为空,则执行后面的语句,如果AAA不为空,为假,则后面的语句不执行。
第四行:为for循环,定义i变量从AAA变量中取值
其余部分:do与done之间为循环体,因为httpd为网络程序,最后用kill -9 来强制杀掉。