Node(18) child_process

child_process has stdin and stdout for input and output


child_process.exec(command, [options], callback)

execute a command

default options:

var options = { encoding: 'utf8',
                timeout: 0,
                maxBuffer: 200 * 1024,
                killSignal: 'SIGTERM',
                setsid: false,
                cwd: null,
                env: null };

var cp = require( 'child_process');
cp.exec( 'ls -l', function( e, stdout, stderr ){
	if( !e ){
		console.log( stdout );
	}
});


spawn is more general purpose, it require you to do stdin stdout callback yourself.

simple example to use stdin and stdout to list files and foulders:

//create child process for terminal
var terminal = require('child_process').spawn('bash');

//when terminal receive data, print it to console
terminal.stdout.on('data', function (data) {
    console.log('stdout: ' + data);
});

//when terminal exit, print code to notify user
terminal.on('exit', function (code) {
        console.log('child process exited with code ' + code);
});

//write data to terminal through stdin
setTimeout(function() {
    console.log('Sending stdin to terminal');
    terminal.stdin.write('ls -lah');
    terminal.stdin.end();
}, 1000);




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值