我正在使用Perl CGI.我在后台通过Perl CGI运行SCP命令.喜欢
system("scp -r machinename:/PathOfFile/ /Path/WhereToCopyIt/ &")
Run Code Online (Sandbox Code Playgroud)
这个复制过程需要一些时间,比方说15分钟.现在我希望在此复制过程完成后再发送电子邮件给我.但我的问题是这个命令在后台运行.那我怎么发邮件呢?我知道如何发送邮件但我不知道当进程在后台运行时如何发送邮件.
为什么不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 perlfork并perldoc perlipc获取更多(可能太多?)信息.