1

我制作了一个非常简单的 Perl 脚本,它使用“system”命令运行另一个可执行文件。以下是它的粗略骨架。

#!/usr/bin/perl

# Doing some processing.....
# blah...blah...blah...

# $bin_file is an executable file
system("$bin_file $arguments");

我想从我的 shell 控制台查看结果。从 $bin_file 生成的所有标准输出和标准错误都可以正确显示,但问题是如果 $bin_file 出现段错误等错误,则根本不显示。

您能否告诉我如何使这些操作系统错误消息也出现在控制台上?

4

1 回答 1

1

嗯?段错误不会导致任何输出。不过,您可以自己检查错误:

die "Can't launch child: $!\n"                 if $? == -1;
die "Child killed by signal ".($? & 0x7F)."\n" if $? & 0x7F;
die "Child exited with error ".($? >> 8)."\n"  if $? >> 8;
于 2013-08-22T04:23:51.270 回答