如何使用 javascript child_process.execFile 从文件 运行 获取退出代码
How to get the exit code from a file ran using 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.signal
和err.killed
来自 nodejs 文档:
On success, error will be null. On error, error will be an instance of
Error. The error.code property will be the exit code of the child
process while error.signal will be set to the signal that terminated
the process. Any exit code other than 0 is considered to be an error.
execFile
的回调得到 3 个参数:
error
,如果有的话。
stdout
,进程的标准输出。
stderr
,进程的标准错误。
所以,通过检查stderr
,你应该可以达到预期的结果:
var exec = require('child_process').execFile
exec('./script.py',(err,stdout,stderr)=>{console.log(stderr)})
中查看
这是我的 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.signal
和err.killed
来自 nodejs 文档:
On success, error will be null. On error, error will be an instance of Error. The error.code property will be the exit code of the child process while error.signal will be set to the signal that terminated the process. Any exit code other than 0 is considered to be an error.
execFile
的回调得到 3 个参数:
error
,如果有的话。stdout
,进程的标准输出。stderr
,进程的标准错误。
所以,通过检查stderr
,你应该可以达到预期的结果:
var exec = require('child_process').execFile
exec('./script.py',(err,stdout,stderr)=>{console.log(stderr)})
中查看