我目前正在使用> /dev/null &
来让Perl脚本A完全独立地运行Perl脚本B,并且运行良好。脚本B运行时不会返回任何输出,并且即使在我的终端会话结束时,在脚本A结束时仍保持活动状态。
不是说我需要它,但是如果我愿意,有没有办法重新获得其输出?
谢谢
答案 0 :(得分:1)
您的代码框架可能如下所示:
#!/usr/bin/perl
# I'm a.pl
#...
system "b.pl > ~/b.out &";
while (1)
{
my $time = localtime;
my ($fsize, $mtime) = (stat "/var/log/syslog")[7,9];
print "syslog: size=$fsize, mtime=$mtime at $time\n";
sleep 60;
}
b.pl可能如下所示:
#!/usr/bin/perl
# I'm b.pl
while (1)
{
my $time = localtime;
my $fsize_a = (stat "/var/log/auth.log")[7];
my $fsize_s = (stat "/var/log/syslog")[7];
print "fsize: syslog=$fsize_s auth.log=$fsize_a at $time\n";
sleep 60;
}
关于终止两个脚本:
注意: