如何一个接一个地运行后台进程

Nav*_*sal 2 perl cgi

我正在使用Perl CGI.我在后台通过Perl CGI运行SCP命令.喜欢

system("scp -r machinename:/PathOfFile/ /Path/WhereToCopyIt/  &")
Run Code Online (Sandbox Code Playgroud)

这个复制过程需要一些时间,比方说15分钟.现在我希望在此复制过程完成后再发送电子邮件给我.但我的问题是这个命令在后台运行.那我怎么发邮件呢?我知道如何发送邮件但我不知道当进程在后台运行时如何发送邮件.

Zai*_*aid 5

为什么不fork呢?

my $pid = fork;

if ( $pid == 0 ) {   # Child

    exec( ... );  # Without the '&'
    exit( $? >> 8 );
}

else {               # Parent

    waitpid $pid, 0;
}
Run Code Online (Sandbox Code Playgroud)

查看perldoc perlforkperldoc perlipc获取更多(可能太多?)信息.