如何使一个创build一个程序的40个同时实例的bash脚本?

我是bashLinux新手。 我有一个我写的程序,我想要创build多个同时的实例。

现在,我打开10个新的terminal,然后运行程序10次(我运行的命令是php /home/calculatedata.php

什么是最简单的方法来做到这一点使用bash脚本? 另外,我需要知道如何杀死这些实例,因为它们正在运行一个无限循环

谢谢!!

Solutions Collecting From Web of "如何使一个创build一个程序的40个同时实例的bash脚本?"

您可以使用一个循环,并使用&开始后台进程:

 for (( i=0; i<40; i++ )); do php /home/calculatedata.php & done 

如果这些进程是PHP运行的唯一实例,并且想要全部杀死它们,最简单的方法是使用killall

 killall php 

如何在后台运行php进程:

 #!/bin/bash for ((i=1;i<=40;i+=1)); do php /home/calculatedata.php & done 

您可以通过发出以下命令终止运行PHP进程的所有这些后台实例:

 killall php 

确保你没有任何其他的PHP进程运行,因为他们也将被杀死。 如果你有很多其他的PHP程序,那么你可以这样做:

 ps -ef | grep /home/calculatedata.php | cut_the_pid | kill -9 
 for instance in {1..40} do php myscript & done 

您可以使用简单的循环启动实例,并终止“&”以在后台运行每个作业:

 INSTANCES=40 for ((i=0; $i<$INSTANCES; ++i)) do mycmd & done 

如果你有seq(1)程序(很可能你有它),你可以用稍微可读的方式来做,如下所示:

 for n in $(seq 40); do mycmd & done 

在这种情况下,不使用n变量。 希望这可以帮助

Ť