EXEC退出代码为11(exec Exit Code Meaning for 11)

2019-09-01 00:43发布

我使用的是Linux Web服务器上的下面的代码

$error = exec('phantomjs table1.js', $op, $code);
echo $code; // prints 11 on screen

table1.js

var page = require('webpage').create();
var url = 'table1.php';
page.open(url, function (status) {
    page.render('ss/table1.png');
    phantom.exit();
});

table1.php

echo '<h1>This should be converted to an image</h1>';

我经历了这个链接,但该代码没有被列入其中。 任何知道这个退出代码代表什么吗?

Answer 1:

代码11是一个“段故障”:一个分段故障(也段错误)由程序当它试图在一块存储器未分配给节目分配的数据而引起的。 它表示一个程序错误,通常(如果不总是)导致程序崩溃。 在你的情况,该段错误可能是由phantomjs,这或许表明旧的或测试版本引起的。



Answer 2:

这是我发现了什么。

  • 你phantomjs呼吁一些子进程。 (我的假设是你在节点执行此)。
  • 现在,如果table1.js突然离开,然后返回代码将是二进制00001000和主处理(节点按照假设)也将与相同的二进制错误代码退出。
  • 现在,作为每退出状态共关系,无论是二进制文件将被转换成正常的标志信号,其使得无论是11

11因此,你的错误代码。

来源: 是否有Linux的任何标准的退出状态码?



文章来源: exec Exit Code Meaning for 11