【发布时间】:2014-10-01 19:33:04
【问题描述】:
我想在 perl 脚本中进行 system() 调用,因为我想重定向 stdin 和 stdout,我想我需要将单个字符串传递给 system() 并让 shell 解释元字符。但是,我似乎无法正确检测到程序何时通过system() segfaults 调用。
http://perldoc.perl.org/functions/system.html 的 perl system() 手册页警告“当系统的参数由 shell 间接执行时,结果和返回码受制于它的怪癖。”我应该担心这个吗?
我用于测试 system() 的返回值的代码与同一手册页上给出的示例几乎相同(就在我提到的警告上方),但回想起来似乎是用 LIST 调用 system() .
所以,我认为我的核心问题是,我如何检测从 perl 的system() 在 shell 中调用的程序是如何终止的。如果这是一个重复的问题,我深表歉意,但我在以前的任何地方都找不到它。 FWIW 我在 Linux 的 Fedora 发行版上运行脚本。
非常感谢。
【问题讨论】: