当前位置: 技术问答>linux和unix
bash 脚本启动后台进程,cpu飙升100%,求解
来源: 互联网 发布时间:2017-05-01
本文导语: 脚本如下: #!/bin/bash pid=`ps -ef | grep -v grep|grep -v gdb|grep "mysql_analysis"|awk '{print $2}'` if [ -z $pid ] ; then path=$(cd "$(dirname "$0")"; pwd) cd $path echo `date`" restart mysql_analysis" >> ...
脚本如下:
单独使用setsid ./mysql_analysis&命令启动到后台,cpu正常,直接敲命令 ./mysql_analysis也正常,正常情况下开始cpu都是%0的,运行后cpu也就在0~20%之间浮动,另外,没有数据输出到终端,都写到文件上去了。
很纠结,求高端大神
#!/bin/bash
pid=`ps -ef | grep -v grep|grep -v gdb|grep "mysql_analysis"|awk '{print $2}'`
if [ -z $pid ] ; then
path=$(cd "$(dirname "$0")"; pwd)
cd $path
echo `date`" restart mysql_analysis" >> ../log/analysis_restart.log
setsid ./mysql_analysis&
fi
# echo `date`" restart mysql_analysis" >> ../log/analysis_restart.log
单独使用setsid ./mysql_analysis&命令启动到后台,cpu正常,直接敲命令 ./mysql_analysis也正常,正常情况下开始cpu都是%0的,运行后cpu也就在0~20%之间浮动,另外,没有数据输出到终端,都写到文件上去了。
很纠结,求高端大神
|
strace -p pid
看看是不是循环干嘛了
看看是不是循环干嘛了
|
vmstat看看呢
|
你在if上面echo一下$pid,看看是不是这个变量为空导致死循环了。