先把本人的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 来强制杀掉。