[英]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.