[英]how to capture the exit status of capture calling another perl script within a perl script and if it fails it should die
我刚刚开始在安全CRT上使用Perl 5.26,并且编写了一个Perl脚本来捕获调用多个Perl脚本的情况。
my @secondCommand = capture("perl clientquery.pl -r $cid -l test.log -is $sqlFile");
我想知道如何捕获每个捕获调用的退出状态,如果失败,如何使原始脚本死亡。
IPC :: System :: Simple提供$EXITVAL
,它捕获通过capture
和其他功能运行的命令的退出代码。
IPC :: System :: Simple执行的任何命令的退出值始终可以从
$IPC::System::Simple::EXITVAL
变量中检索:当检查捕获的结果时,此功能特别有用,该捕获会从命令中返回捕获的文本。
use IPC::System::Simple qw(capture $EXITVAL EXIT_ANY); my @enemies_defeated = capture(EXIT_ANY, "defeat_evil", "/dev/mordor"); print "Program exited with value $EXITVAL\\n";
如果命令未正常退出(例如,被信号终止)或未启动,则
$EXITVAL
将设置为-1。 在这种情况下,也会引发异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.