如何使用JavaScript Child_process.execfile从文件中获取退出代码



这是我的python代码:

#!/bin/python
import sys
sys.exit(4)

这是我的JavaScript

var exec = require('child_process').execFile
exec('./script.py', (err, data) => { if(err) { console.log(err.status) } })

但是它不起作用,因为没有err.status的东西我想在控制台日志中拥有的是" 4"。

没有err.status,但是有err.code

这应该有效:

var exec = require('child_process').execFile
exec('./script.py', (err, data) => { if(err) { console.log(err.code) } })

也有err.signalerr.killed

来自nodejs文档:

关于成功,错误将为null。错误,错误将是 错误。错误属性将是孩子的退出代码 流程何时错误。信号将设置为终止的信号 过程。除0以外的任何退出代码都被认为是错误。

(https://nodejs.org/api/child_process.html#child_process_child_child_process_execfile_file_args_options_callback(

execFile的回调获取3个参数:

  • error,如果有。
  • stdout,过程的stdout。
  • stderr,该过程的stderr。

因此,通过检查stderr,您应该能够达到预期的结果:

var exec = require('child_process').execFile
exec('./script.py',(err,stdout,stderr)=>{console.log(stderr)})

在node.js docs

中查看此信息。

相关内容

  • 没有找到相关文章

最新更新