Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在nodejs中的独立线程上执行dos命令?_Javascript_Multithreading_Node.js_Npm_Dos - Fatal编程技术网

Javascript 如何在nodejs中的独立线程上执行dos命令?

Javascript 如何在nodejs中的独立线程上执行dos命令?,javascript,multithreading,node.js,npm,dos,Javascript,Multithreading,Node.js,Npm,Dos,我正在使用 var version = shell.exec('D:\\prompt.bat', {silent:false}).output; 要运行.bat文件的npm的Shelljs模块 此.bat文件打开iexplore.exe,internet explorer打开 但是 问题是它是在单线程上运行的,所以除非IE没有关闭,否则我的服务器正在等待,不会处理任何进一步的请求 所以任何人都可以建议我如何在单独的线程上运行DOS命令,这样它就不会影响我的服务器 提前感谢。:) 您确实可以使用

我正在使用

var version = shell.exec('D:\\prompt.bat', {silent:false}).output;
要运行.bat文件的npm的Shelljs模块

此.bat文件打开iexplore.exe,internet explorer打开

但是 问题是它是在单线程上运行的,所以除非IE没有关闭,否则我的服务器正在等待,不会处理任何进一步的请求

所以任何人都可以建议我如何在单独的线程上运行DOS命令,这样它就不会影响我的服务器


提前感谢。:)

您确实可以使用不同的方法(如或)来创建异步进程,但node.js仍然不会退出,直到子进程完成或超时。尽管它将继续执行

示例():


另一种更简单的方法:您可以尝试运行异步CMD代码,这不是在Node.js中而是在脚本中解决问题

例如,将行更改为:

var version = shell.exec('start D:\\prompt.bat', {silent:false}).output;

或者您可以在
提示符中添加命令
start
。bat

我在自己的评论中找到了第二个问题的答案:


代替c:\。。。用c:/就是这样。:)

如果你没有主意了,我会用cmd.exe试试,它当然可以运行bat文件。。。。。。。。。。。。。。。我浪费了一整天的时间在这上面,我之前尝试过这个,但它不起作用,我不知道它是怎么突然开始起作用的:):)非常感谢。但是代替了这个exec(['D:\\prompt.bat'],函数(err,out,code){…}我想执行“C:\\Program Files\\Internet Explorer\\iexplore.exe”如何执行?这不提供问题的答案。若要评论作者或要求作者澄清,请在其帖子下方留下评论。
var version = shell.exec('start D:\\prompt.bat', {silent:false}).output;