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;