从 child_process.spawn 获取完整的命令行字符串
Get full command-line string from child_process.spawn
我正在使用 child_process.spawn() 生成一个进程。如何查看执行的确切命令行(包括传递给 spawn 函数的所有命令行参数)?
这是我的示例,但它不起作用:
var s = require('child_process');
var p = s.spawn('ffmpeg', ['-probesize 1024', '-i "rtsp://192.168.1.10:554/11"', 'test.h264']);
当我捕获 stderr 时,我收到一条消息“无法识别的选项 'probesize 1024'。但是,如果我从命令行 运行 ffmpeg,它工作正常。所以我需要确切地了解如何命令行选项在发送到 FFMPEG 之前被破坏以进行调试。
谢谢
试试看
var p = s.spawn('ffmpeg', [
'-probesize',
'1024',
'-i',
'rtsp://192.168.1.10:554/11',
'test.h264'
]);
命令行参数之间有 space 但连贯,仍然需要分开。所以 -probesize
和 1024
之间需要一个 space
更新
如果您想将连贯的参数放在一起,请将 shell: true
添加到选项对象:
var p = s.spawn('ffmpeg',
[
'-probesize 1024',
'-i "rtsp://192.168.1.10:554/11"',
'test.h264'
],
{
shell: true
}
);
老问题我知道...但我有一个想法,可能会回答 OP 的问题
const cp = require('child_process');
var sp = cp.spawn( 'cmd', [ '/C' , 'echo', 'ffmpeg',
'-probesize',
'1024',
'-i',
'rtsp://192.168.1.10:554/11',
'test.h264'
]);
sp.stdout.on( "data" , (d) => {
console.log( `${d}`);
});
这会将 cmd 回显到控制台...
ffmpeg -probesize 1024 -i rtsp://192.168.1.10:554/11 test.h264
我正在使用 child_process.spawn() 生成一个进程。如何查看执行的确切命令行(包括传递给 spawn 函数的所有命令行参数)?
这是我的示例,但它不起作用:
var s = require('child_process');
var p = s.spawn('ffmpeg', ['-probesize 1024', '-i "rtsp://192.168.1.10:554/11"', 'test.h264']);
当我捕获 stderr 时,我收到一条消息“无法识别的选项 'probesize 1024'。但是,如果我从命令行 运行 ffmpeg,它工作正常。所以我需要确切地了解如何命令行选项在发送到 FFMPEG 之前被破坏以进行调试。
谢谢
试试看
var p = s.spawn('ffmpeg', [
'-probesize',
'1024',
'-i',
'rtsp://192.168.1.10:554/11',
'test.h264'
]);
命令行参数之间有 space 但连贯,仍然需要分开。所以 -probesize
和 1024
更新
如果您想将连贯的参数放在一起,请将 shell: true
添加到选项对象:
var p = s.spawn('ffmpeg',
[
'-probesize 1024',
'-i "rtsp://192.168.1.10:554/11"',
'test.h264'
],
{
shell: true
}
);
老问题我知道...但我有一个想法,可能会回答 OP 的问题
const cp = require('child_process');
var sp = cp.spawn( 'cmd', [ '/C' , 'echo', 'ffmpeg',
'-probesize',
'1024',
'-i',
'rtsp://192.168.1.10:554/11',
'test.h264'
]);
sp.stdout.on( "data" , (d) => {
console.log( `${d}`);
});
这会将 cmd 回显到控制台...
ffmpeg -probesize 1024 -i rtsp://192.168.1.10:554/11 test.h264