退出Perl脚本后启动新进程

时间:2014-09-15 12:28:50

标签: perl parallel-processing

我对Perl很新,所以请耐心等待。我想在退出Perl脚本时启动一个c#程序。这可能吗?如果我只是打电话(对一些任意的其他Perl脚本说),父进程将不会退出,直到子进程终止。有没有办法在Perl中打破这种关系?我考虑过只写一个文件,但这需要我总是在后台运行一个不理想的监控服务。

我已经尝试过系统(),但没有成功。以下是我的代码片段:

主要脚本:

...
print "primary call starting\n";
system('reboot.pl');
$count++;
sleep(1);
print "primary call ending\n";
...

辅助脚本(reboot.pl):

...
print "reboot starting\n";
system('timeout 10');
my $iboot_urlcall = $ua->request($iboot_off);
system('timeout 10');
my $iboot_urlcall = $ua->request($iboot_on);
system('timeout 10');
print "reboot ending\n";
...

运行它的stdout结果是:

primary call starting
reboot starting

timeout

timeout

timeout
reboot ending
primary call ending
...

我想要的输出更像......

primary call starting
reboot starting
primary call ending
timeout

timeout

timeout
reboot ending
...

这可能吗?

1 个答案:

答案 0 :(得分:0)

假设Unix:

system ( 'your_command &' );

将立即返回,并让您的进程在后台运行。