首页 > 技术文章 > Shell创建一个子进程,独立运行,不影响父进程正常执行

bretzhao 2019-11-11 10:47 原文

创建一个子进程shell脚本

vi clipro.sh
#!/bin/sh echo "hello word' sleep 5

父进程代码

vi fpro.sh

#!/bin/sh
source /root/clipro.sh &      #一定要加&后台执行,这样父进程才会执行后面的shell语句
clipid=$!         #获取子进程的PID
echo "wait1"
sleep 3
kill $clipid    #父进程执行完毕,可通过kill杀死子进程

 

#生产环境替换关键词

#!/bin/sh
while true
do
        #查找sed进程,只查询第一个值(-m1)
        dd=$(ps -ef|grep -v "grep"|grep -m1 -E "sed -i s#")
        #-z:字符串为空,则真
        if [ -z "$dd" ];then
                continue
        fi

        runtime=$(echo $dd|awk '{print $7}')
        proid=$(echo $dd|awk '{print $2}')
        file=$(echo $dd|awk '{print $11}')
        touch /root/noupdate.txt
        if [[ $runtime > '00:01:00' ]];then
                kill $proid
                echo "$file" >>/root/noupdate.txt
        fi
        sleep 120
done

 

 

 

 

推荐阅读