node.js linux shell,node.js执行linux shell代码

node.js执行linux shell代码

2017-6-28    分类: nodejs笔记

node shell

node.js 子进程

ls -a //列出所有文件及文件夹,并显示所有隐藏文件

异步:(常用)

spawn,exec,execFile,fork

1,spawn

var child = require('child_process');

var du = child.spawn('ls', ['-a']);

du.stdout.on('data', function (data) {

console.log('输出内容是 ' + data); //输出的内容和直接执行ls -a的效果一样

});

du.stderr.on('data', function (data) {

console.log('stderr: ' + data);

});

du.on('exit', function (code) {

console.log('child process exited with code ' + code);

});

2,exec

//推荐,可直接一句话执行,并且有回调

var childProcess = require('child_process');

childProcess.exec('ls -a', function (error, stdout, stderr) {

if (error) {

console.log(error.stack);

console.log('Error code: '+error.code);

}

console.log('输出内容是: '+stdout);

});

3,execFile

//加载并执行命令文件,参数需要数组形式

var childProcess = require('child_process');

var path = ".";

childProcess.execFile('/bin/ls', ['-l', path], function (err, result) {

console.log(result)

});

4,fork

//进程之间传参

//pather.js

var childProcess = require('child_process');

var n = childProcess.fork('./son.js'); //引入要监听的模块

n.on('message', function(m) {

console.log('儿子发来的信息: ', m); //此处是,老爸接受到儿子发来的信息

});

n.send({ hello: '儿子我是老爸' }); //此处是,老爸给儿子发送的信息

//son.js

process.on('message', function(m) {

console.log('老爸发来的信息:', m); //收到。老爸发来的信息

});

process.send({ Hello: '老爸我是儿子' }); //向老爸发送信息

process.exit(0); //儿子发数据给老爸后,任务完成退出。

同步:

spawnSync,execFileSync,execSync

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值