【发布时间】:2014-10-30 13:25:26
【问题描述】:
我的服务器上运行着这个脚本
for i in {1..400000}
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 &
它最多可以打开 110 个 php 进程。
我可以杀死进程
我可以用killall -9 php5杀死php5进程
但脚本会再次创建它们:
脚本运行后如何停止它?
kill %1:当我登录到 SSH 时,这非常有用
如果我注销并再次登录,kill %1 或 jobs -l 将不再起作用。
【问题讨论】:
-
ssh和这个有什么关系? -
for i in {1..400000}将扩展为大内存;更喜欢for ((i=1; i<=400000; i++)) -
@EdouardThiel 它会使用不到 1MB。
-
echo {1..400000}|wc -c给出 2688895,这对于一个简单的循环来说相当浪费内存。