开门见山,下面的脚本实现的功能是一直运行process进程,当该脚本接收到“1”信号时,执行clean函数杀死所有process命名的进程。
#!/bin/sh
clean()
{
killall process 2>/dev/null
}
trap clean 1
#kill -1 $$
RC=0
while [ $RC -eq 0 ]
do
process
RC=$?
done
该脚本首先执行trap clean 1命令,该命令使得该脚本接收到“1”信号后,执行clean函数,即重定向了“1”信号的处理;下面是一个while循环,拼命执行process进程,直到process被杀死返回错误码,退出循环。