这是我的 script.sh
for ((i=1; i<=400000; i++))
do
echo "loop $i"
echo
numberps=`ps -ef | grep php | wc -l`;
echo $numberps
if [ $numberps -lt 110 ]
then
php5 script.php &
sleep 0.25
else
echo too much process
sleep 0.5
fi
done
当我用:
启动时./script.sh > /dev/null 2>/dev/null &
除当我从SSH注销并再次登录时有效,我无法停止kill%1
的脚本,jobs -l
为空
当我尝试使用
启动它时nohup ./script.sh &
它只是输出
nohup: ignoring input and appending output to `nohup.out'
但没有运行php5:nohup根本没有效果
我有2个替代品来解决我的问题:
1)./script.sh > /dev/null 2>/dev/null &
如果我从SSH注销并再次登录,我该如何删除此作业?
或 2)如何使nohup正确运行?
有什么想法吗?
答案 0 :(得分:1)
nohup
不允许您在注销后再次使用jobs -l
或kill %1
来终止作业。
相反,你可以
killall script.sh
杀死服务器上运行的script.sh
的所有正在运行的实例。