Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一次执行多个命令_Php_Python_Linux_Perl - Fatal编程技术网

Php 一次执行多个命令

Php 一次执行多个命令,php,python,linux,perl,Php,Python,Linux,Perl,我正在尝试用Perl编写一些东西,但我也很高兴使用Python或PHP来完成同样的工作,即: 获取例如文件或URL的列表 添加附加的系统命令,例如cp,作为示例 在总共一千个这样的命令列表中,最多执行十个这样的命令 等待十个插槽中的一个变为并开始一个新过程,从而移动1000个元素 我现在正在走捷径,使用back ticks在Perl中执行命令,但是如果有更好的方法来实现这一点,我将非常感激 你应该展示你写的东西,否则我们无法知道哪种方式更好 你可能应该看看。使用该模块,您的程序可能看起来像这样

我正在尝试用Perl编写一些东西,但我也很高兴使用Python或PHP来完成同样的工作,即:

获取例如文件或URL的列表

添加附加的系统命令,例如cp,作为示例

在总共一千个这样的命令列表中,最多执行十个这样的命令

等待十个插槽中的一个变为并开始一个新过程,从而移动1000个元素


我现在正在走捷径,使用back ticks在Perl中执行命令,但是如果有更好的方法来实现这一点,我将非常感激

你应该展示你写的东西,否则我们无法知道哪种方式更好

你可能应该看看。使用该模块,您的程序可能看起来像这样

这段代码缺少很多内容,最重要的是使用strict和use warning'all',以及@list的声明和填充。我相信你能填空

请注意,对十个并行进程的限制是由模块施加的,并且。。。必须自己填写作为目标路径。最好是在Perl中执行您需要的操作,而不是仅仅为了调用cp而进行炮击,因此我将参与其中


如果问题是您当前所做的是否是良好实践,那么您的代码的一个简单示例将有所帮助。如果您的问题是如何用另一种语言完成您已经在做的事情,那么您的代码的一个简单示例将有所帮助。总的来说,实际的问题和一个简单的代码示例会有所帮助。可能的副本必须显示您所写的内容,否则我们无法知道什么可能是更好的方法。您可能应该看看Thank You Perl Dog,这正是我想要的。为了回应之前的帖子-道歉,我用两种语言写了五个变体,我觉得最好把我想做的事情的概念放下:道歉,下次会遵守规则!再次感谢大家花时间回复。
use Parallel::ForkManager ();
use File::Copy 'copy';

my $pm = Parallel::ForkManager->new(10);

for my $file ( @list ) {

    next if my $pid = $pm->start;

    # Child code

    copy $file, "...";
    $pm->finish;
}