如何在nodejs的单独线程上执行dos命令
How to execute dos command on separate thread in nodejs?
我使用
var version = shell.exec('D:''prompt.bat', {silent:false}).output;
npm运行.bat文件的Shelljs模块
这个。bat文件打开iexplorer .exe, ie浏览器打开
问题是它在单线程上运行,所以除非IE没有关闭,否则我的服务器正在等待,而不是处理任何进一步的请求,
所以任何人都可以建议我如何在单独的线程上运行DOS命令,以便它不影响我的服务器。
提前感谢。:)
您确实可以使用不同的东西,如child_process或exec来创建异步进程,但是node.js仍然不会退出,直到子进程完成或超时。虽然它会继续执行。
示例(源):
var exec = require('exec');
exec(['D:''prompt.bat'], function(err, out, code) {
if (err instanceof Error)
throw err;
process.stderr.write(err);
process.stdout.write(out);
process.exit(code);
});
另一种更简单的方法:你可以尝试运行异步CMD代码,这是解决问题,而不是在Node.js,但在脚本。
例如:
var version = shell.exec('start D:''prompt.bat', {silent:false}).output;
或者您可以在prompt.bat
中添加命令start
我在自己的评论中找到了第二个问题的答案:
代替c:'…用c:/就是这样。:)
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JavaScript执行暂时挂起页面
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 当js函数's已执行
- 哪个先执行
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- HTML表单提交时未执行外部函数
- 在Safari执行javascript之前对其进行修改
- Amd,希望确保某个东西总是最后执行
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何在从浏览缓存加载页面时执行javascript
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- Jquery:代码在rails中的页面加载时未执行
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- JavaScript动画从不执行
- 为什么onsubmit函数似乎没有执行
- 如何在nodejs的单独线程上执行dos命令