在Linux命令行下同时运行多个PHP脚本

4

我需要测试我的PHP脚本中的锁定功能,并且需要同时运行多次。

我记得之前在测试MySQL锁定时找到了一个简单的命令,但现在无法回忆起该函数并再次找到它。我正在运行Ubuntu Linux 14.04.1。

我正在寻找一个简单的命令,不需要任何循环。

谢谢。


我相信&会起作用。你试过php script1.php & php script1.php & php script1.php吗? - luchosrock
问题是我需要至少运行它50次,以后可能会运行1000次,所以这样做不起作用,但感谢您的建议。 - Jayela
我尝试使用 & 运行50个,但大部分都没有运行。 - Jayela
可能是在bash中运行命令N次的更好方法?的重复问题。 - Avalanche
显示剩余2条评论
2个回答

6

在Linux中使用AB测试

运行此命令

ab -n 1000 -c 5 http://yourpage.php

where -n 1000 表示运行1000次

而 -c 5 表示您将进行5个并发进程

如果您想自动化它并使其在后台运行,请激活一个curl命令并将其置于cron作业中。

45 11 * * * /usr/bin/curl -G 127.0.0.1/yourscript.php >/dev/null 2>&1

这将在每天上午11点45分运行。
有关Linux中AB测试或基准测试的更多详细信息,请查看此页面。 Linux基准测试

要将其添加到cron作业中,请在命令行中键入:EDITOR = nano crontab -e,然后将其添加并保存。 - JoeCodeCreations

1

你可以使用此命令多次运行脚本:

cmd="..some command..."; for i in $(seq 5); do $cmd; sleep 1; done

例如,这个:

举个例子:

cmd="ls"; for i in $(seq 5); do $cmd; sleep 1; done

这条命令将会列出当前目录中的文件,间隔一秒,重复执行5次。

将该命令更改为您需要执行的脚本命令,并将$(seq 5)更改为您想要运行命令的次数。

e.g

cmd="php my_script.php"; for i in $(seq 1000); do $cmd; sleep 1; done

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接