草庐IT

node-ipc

全部标签

node.js - 如何将 "CTRL+C"发送到 Node.js 中的子进程?

我尝试生成子进程-vvp(https://linux.die.net/man/1/vvp)。在某个时间,我需要发送CTRL+C到那个进程。我期待模拟会被中断,我会得到交互式提示。之后我可以通过向子进程发送命令来继续模拟。所以,我尝试了这样的事情:varchild=require('child_process');varfs=require('fs');varvcdGen=child.spawn('vvp',['qqq'],{});vcdGen.stdout.on('data',function(data){console.log(data.toString())});setTimeou

node.js - 我可以假设 `node` 总是在 NPM 设置的 $PATH 中吗?

几年来我一直将NPM作为一个简单的构建工具使用,我可以假设通过package.json安装的每个CLI工具都可以在PATH,因为NPM添加了./node_modules/.bin路径。但是当我准备编写一个小的Node脚本来做一些家庭清理杂务时,如果NPM实际上在它提供给用户的PATH中有node可执行文件,我有点担心。这可能看起来很愚蠢,因为./node_modules/.bin中的所有脚本都依赖于node存在,以便Unix上的包装器脚本能够找到它,但我我认为Windows中可能会发生一些神奇的事情。也许他们使用了自己的其他魔法。或者其他的东西。没关系,真的,我只想能够断言:node可

javascript - “NODE_ENV”未被识别为内部或外部命令

我有一个在Linux上运行良好的应用程序,但是当我在Windows上执行它时出现此错误。'NODE_ENV'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.'NODE_ENV'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.npmERR!codeELIFECYCLEnpmERR!errno1npmERR!aaa@1.0.0webpack-watch:`NODE_ENV='debug'webpack

node.js - 运行 grunt 时出现错误 : spawn ./node_modules/.bin/grunt ENOENT

我有一个由开始开发的项目yarn开始它运行一个启动grunt进程的index.js并得到这个错误:$yarnstartyarnstartv0.23.2$node./developmentgrunt_arguments['--force','--notify','--verbose','--debug','--stack']=======================================Openhttp://localhost:8000tostartdevelopingevents.js:141thrower;//Unhandled'error'event^Error:sp

c - FindWindow() 偶尔失败(尝试 IPC)

我在stackoverflow上的第一篇文章。我不是一个编码员,我有时会为了好玩而涉足编码,因此我不会花太多时间来理解基础知识,而是找到任何可行的解决方案,即使它有点“丑陋”.这让我想到了我的问题:我用C编写了一个简单的winapi程序,带有一个对话框和一个DlgProc。它接受文件并对它们做一些事情,比方说,为了简化,它所做的只是创建一个扩展名为*.BAK的文件副本。我已经在注册表(HKEY_CLASSES_ROOT*\shell\BKUP\command)中添加了一个键,这样我就可以在Windows资源管理器中选择几个文件,并可以选择“创建备份”来将它们的所有名称发送到我的程序,但

node.js - Nodejs shell 脚本在 linux 中运行良好,但在 Windows 中运行不佳。为什么它不会执行多个命令

我发现我的node.jsshell脚本在Windows和Linux中的工作方式有所不同。我有一串使用child_process库同步执行的命令。varcmd=`echo'hello'echo'Stack'echo'Overflow'`varexec=require('child_process').execSync;varoptions={encoding:'utf8'};console.log(exec(cmd,options));在Linux中这会按照我的预期执行所有3个echo语句和输出。helloStackOverflow在Windows中而在Windows中,我不知道它是否执

node.js - Socket-io 客户端不断发送连接请求

我正在创建包含一些实时功能的应用程序。我在前端使用Node.js、SocketIO和Express+React。我的后端处理http和ws请求。我使用带有代理选项的webpack-dev-server将客户端的请求重定向到我的本地服务器。几天前,虽然我既没有接触webpack配置也没有接触后端代码,但在客户端单次调用io({path:'/socket'})导致发送大量连接请求到我的后端。原因不是HMR、组件的重新渲染或客户端的某些循环。我确信客户端只调用一次io({path:'/socket'})。即使我将分支更改为一些旧分支(其中肯定不存在问题),在重新安装所有node_module

node.js - 访问 Node 上的 Windows 快捷方式 (.lnk) 数据

有什么方法可以解析Node中.lnk文件的快捷方式数据(例如,主要是它指向的路径)? 最佳答案 如果您使用Electron,它有一个内置的方法:https://www.electronjs.org/docs/api/shell#shellreadshortcutlinkshortcutpath-windowsimport{shell}from'electron';constparsed=shell.readShortcutLink(shortcutPath);targetString-从此快捷方式启动的目标。cwdString(可选

node.js - 如何为 child_process.exec 指定 shell 可执行文件?

我在Windows10中使用GitBash,并希望在child_process.exec调用中执行git命令。我认为由于我通过“GitForWindows”安装了git,我只需要将shell指定为GitBash可执行文件。我已经尝试了我能想到的GitBash可执行文件路径的所有变体,但它总是失败。Node正在寻找的路径是什么?无效路径示例c:/程序文件/git/usr/bin/bashc:/程序\文件/git/usr/bin/bash/c/程序\文件/git/usr/bin/bashc:\\程序文件\\git\\usr\\bin\\bashconst{expect}=require('

c++ - DuplicateHandle() 是否进行任何进程间通信 (IPC),如果不进行,为什么要使用目标参数?

我正在寻找DuplicateHandle()非常困惑。第三个和第四个参数hTargetProcessHandle和lpTargetHandle似乎暗示这个API函数进行某种形式的进程间通信,但我在网上阅读的内容似乎暗示(没有直接说)实际上这个函数不能与外部的任何东西通信它自己的进程的地址空间,如果你真的想说将本地进程句柄复制到另一个进程,你必须自己手动完成。所以有人可以可怜我并明确地告诉我这个函数本身是否有任何IPC吗?另外,如果它不执行任何IPC,那么这两个参数的意义何在?如果没有发送数据并且此函数的输出对其他进程不可见,怎么会有“目标”?起初我以为我可以调用GetCurrentPr