首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止在节点js中使用exec创建文件

停止在节点js中使用exec创建文件
EN

Stack Overflow用户
提问于 2014-04-11 12:10:17
回答 1查看 144关注 0票数 0

我正在运行两个命令

代码语言:javascript
复制
indexer idx_name --rotate
indexer idx_name --buildstops dict_file 10

当我从命令行运行这些命令时,一切都很好。但是,当我使用exec通过节点应用程序传递这两个命令时,第一个命令工作成功,而对于第二个命令,dict_file没有生成。

我试过一些和sudo的组合,但没什么用。我从这两种方式(节点和外壳)检查了标准输出,它看起来是一样的。

以下是我的节点js代码:

代码语言:javascript
复制
var exec = require('child_process').exec;
var cmd = 'indexer idx_name --rotate && indexer idx_name --buildstops dict_file 10';
exec(cmd, function(err, stdout, stderr) {
   console.log(stdout);
});

我遗漏了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-11 18:02:32

哪个用户正在运行节点,将需要编写dict_file的权限。

甚至可能会发现更容易删除文件,并让正确的用户通过节点创建它(假设用户可以编写文件夹)。

Sudo也可以工作,但需要确保用户运行的节点具有sudo权限。在堆栈溢出的职权范围之外的排序。

..。也要检查你在正确的地方寻找。在您的示例中,您没有显示路径,因此文件dict_file将只在当前工作目录中创建(不确定节点如何配置该路径)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23012188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档