exec Exit Code Meaning for 11

2019-01-28 08:17发布

I'm using the following code on a linux web server

$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>';

I went through this link but that code isn't listed there. Any idea what this exit code stands for?

2条回答
再贱就再见
2楼-- · 2019-01-28 08:50

This is what I found out.

  • Your phantomjs is calling some child process. (My assumption would be you are executing this on node).
  • Now, if table1.js exits abruptly, then return code will be binary 00001000 and the main process(node as per assumption) will also exit with the same binary error code.
  • Now as per exit status co-relation, both the binaries will be converted to normal sign signals which makes both to be 1 and 1.

Hence your error code of 11.

Source: Are there any standard exit status codes in Linux?

查看更多
Anthone
3楼-- · 2019-01-28 08:55

Code 11 is a "segmentation fault": A segmentation fault (also segfault) is caused by a program when it tries to allocate data in a piece of memory that is not assigned to the program. It indicates a program error and usually (if not always) crashes the program. In your case, the segfault probably is caused by phantomjs, which indicates perhaps an old or beta version.

查看更多
登录 后发表回答