我的shell脚本在启动时会打印分段错误。
watchdog.sh:
#!/bin/bash
while true
do
processCnt=`ps ax | grep $1 | grep -v grep | grep -v watchdog | wc -l`
if [ $processCnt -lt 1 ]; then
$1
fi
sleep 2
done
脚本获取程序名称作为参数。
我还在run.sh。
run.sh:
./watchdog.sh hqservicedemon &
./watchdog.sh relayservicedemon &
./watchdog.sh rtspservicedemon &
./watchdog.sh httpcontrolservicedemon &
当我运行run.sh时出现错误:
./watchdog.sh: line xx: 7316 segmentation fault (core dumped)
经过一些测试后,在run.sh中只运行一个watchdog.sh时看起来没问题
我在shell脚本中做错了什么?
谢谢你的任何建议。
编辑: 我的恶魔有问题,而不是剧本。修复恶魔后,脚本运行良好。
答案 0 :(得分:4)
这可能是你的恶魔之一,而不是剧本。它发现恶魔没有运行,执行它(可能没有适当的参数?)和seg故障。 尝试运行四个
在没有编写新脚本来管理它的情况下,已经有很多工具可以保持这些东西的存在。如果您使用的是运行新手的系统,则可以使用upstart轻松完成此操作。其他系统有类似的方法来做到这一点,我不会自己从头开始写它。