1

我确信这是一个简单的解决方法,但我需要为我的项目使用“脚本”(而不是收集标准输入/输出/错误)。我对 Perl 有点陌生,所以请多多包涵。

我有一个运行良好的 Perl 脚本。当我运行它时,我通常script > filename在运行 Perl 之前输入。

$script > file.log
bash-3.2$ perl foobar.pl

这运行良好,完成后我键入 exit 或 control D 以停止脚本并保存文件。我想做的就是将script命令合并到 Perl 中,然后在程序停止运行(12-16 小时)时自动捕获文件。我遇到的问题是我打电话给system("script > file.log");他们,他们称system("perl foobar.pl");它在bash-3.2$提示符下挂起。让 Perl 工作的唯一方法是控制 D 或退出,停止脚本函数。

有人知道如何解决这个问题吗?虽然在调用 Perl 之前从脚本开始很容易,但如果我是个鼹鼠而忘记了,我必须重新运行程序(这需要很长时间)。

4

1 回答 1

0

Have you considered using system("script -c 'perl foobar.pl' file.log")?

于 2013-06-25T00:29:40.093 回答