npm 后台脚本去哪儿了
Where do npm background scripts go?
我有一个程序依赖于另一个正在运行的程序,所以我将此build
命令添加到我的package.json
文件中
"scripts": {
"start": "brunch watch --server",
"build": "coffee server/modules/events/book_server.coffee &"
}
所以在我用npm start
运行我的主脚本之前,我运行了npm run-script build
,这使我的主脚本工作,但是当我退出主脚本然后bg
查找后台进程时,我收到消息
> -bash: bg: current: no such job
所以我决定再次运行npm run-script build
但是以前的进程必须仍在运行,因为我收到错误消息
events.js:66
throw arguments[1]; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:776:11)
at Server._listen2._connectionKey (net.js:917:26)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
当我尝试再次运行我的主程序时,出现错误
> TypeError: Cannot read property 'port' of null
我的问题是,这些背景脚本在哪里?
到目前为止,我已经查看了所有明显的地方,包括package.json
目录,book_server.coffee
和node_modules
的目录,但没有运气。
因此,后台进程进入后台,只是在操作系统内运行,但不附加到外壳的 tty。要找到它们,请使用类似 ps -ef
的 jobs -l
或 ps
命令。可以使用grep
来筛选输出,但需要查找的是生成过程的进程 ID (PID),以便可以使用 kill <pid>
停止它。您可能还想阅读对此过程很方便的pgrep
和pkill
。
请注意,在您的示例中,当bg
不合适时,您可以使用它。 bg
适用于此序列:1. 在 shell 的前台启动作业,2. 使用 CTRL-Z 暂停该作业,3. 使用 bg
告诉 shell "允许此作业继续执行,但在后台与我的 TTY 分离"。(同样,jobs
就是您在这里寻找的内容)。
从大局来看,在后台运行该coffee
命令没有必要或好处,因为它只是一个简单的编译步骤,应该需要几毫秒的时间。
有关"每年重读"的惊人详细深度,请查看 TTY 揭秘。
- 选项卡侦听器未被来自后台脚本的消息激活
- 使用javascript后台脚本获取Yotutube频道信息
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- 使用chrome扩展,如何使用长寿命连接(端口)将消息从后台脚本传递到内容脚本
- 为什么chrome.sockets.tcp.create()在应用程序后台脚本中不起作用
- 后台脚本在受限范围内运行的 Chrome 应用
- Chrome:同时使用内容和后台脚本不起作用
- 从“选项”弹出窗口中选择一个值,然后将其保存到 Chrome.storage,以便在后台脚本中用作值
- 应用程序后台脚本,访问打开的窗口的元素
- Chrome 扩展程序:无法让消息传递在后台脚本和内容脚本之间正常工作
- npm 后台脚本去哪儿了
- 为什么我的Google扩展似乎只有在我'我正在观察后台脚本控制台
- 后台脚本中的setIntegal
- 在非持久性后台脚本上添加上下文菜单项
- 正在将消息发送到后台脚本
- 多次加载后台脚本
- Chrome扩展如何获得后台脚本将被关闭的通知
- chrome扩展的浏览器操作、后台脚本和内容脚本之间通信的上下文和方法
- Chrome扩展:错误时发送消息从注入脚本回后台脚本
- 在弹出框中从iframe发送消息到后台脚本