繁体   English   中英

用于Linux服务器编程的nodejs /作为脚本语言

[英]nodejs for linux server programming / as scripting language

我正在编写用于为我的应用程序配置新用户的脚本。 脚本将写在节点上,因为它的任务之一是连接到mysql以在应用程序的数据库中创建新用户。

我试图使用spawn-sync库(令人惊讶的是,它似乎也是异步的)执行bash命令,但是其中每个命令我都需要执行以下操作:

var spawnSync = require('spawn-sync');
var user_name = process.argv[2];

new Promise((resolve)=>{

    var result = spawnSync('useradd',[user_name]);
    if (result.status !== 0) {

        process.stderr.write(result.stderr);
        process.exit(result.status);

    } else {

        process.stdout.write(result.stdout);
        process.stderr.write(result.stderr);

    }

    resolve()

}).then(new Promise(function(resolve){

    // execute another part of script
    resolve()
})

有更好的方法吗? 每当我尝试查找内容时,网络上的所有教程似乎都只在谈到nodejs上下文时才谈论表达。

还是您不鼓励将nodejs用作脚本化服务器端语言?

如果要与进程同步交互,Node.js可以通过child_process.execSync()内置该功能。 请注意,如果子进程的退出代码非零,则会抛出该异常(因此,您需要使用try / catch对其进行包装)。

try {
  var cmd = ['useradd', user_name].join(' ');
  var stdout = require('child_process').execSync(cmd);
  console.log(stdout);
}
catch (e) {
  console.log(e);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM