2
我的意图是执行long.pl
perl脚本,将不同路径作为参数,并且因为long.pl
具有无限循环,因此在主脚本中它不会到达第二个路径。我想用fork
来做,但我不确定它是否能解决我的问题!在另一个perl脚本中执行多个无限制perl脚本
有关完成任务的方法的一些信息将会有所帮助,请让我知道是否需要对问题说明进行任何说明。
#!/usr/bin/perl
use strict;
use warnings;
print localtime() . ": Hello from the parent ($$)!\n";
my @paths = ('C:\Users\goudarsh\Desktop\Perl_test_scripts','C:\Users\goudarsh\Desktop\Perl_test_scripts/rtl2gds');
foreach my $path(@paths){
my $pid = fork;
die "Fork failed: $!" unless defined $pid;
unless ($pid) {
print localtime() . ": Hello from the child ($$)!\n";
exec "long.pl $path"; # Some long running process.
die "Exec failed: $!\n";
}
}
long.pl
#!/usr/bin/perl
use strict;
use warnings;
while(1){
sleep 3;
#do some stuff here
}
您错误地按下一个零到'@ pids' – Borodin
嗯...我没有看到这一点,但你的观点是可以理解的:我想我应该看到一些零。 – 7stud
啊...我现在看到他们了。 – 7stud