[英]build before restarting the node.js (express) server using Nodemon
[英]nodemon is not restarting the server when using node-java package
使用node-java包時,文件更改時nodemon 不會重新啟動。 如果我刪除 node-java包,那么nodemon 將在文件更改時重新啟動。
在服務器中使用 node-java 包時,即使手動重啟(rs)也不起作用。 以下是行為。
甚至它拋出以下內容:
events.js:85 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at exports._errnoException (util.js:746:11) at Server._listen2 (net.js:1156:14) at listen (net.js:1182:10) at Server.listen (net.js:1267:5)
由於端口 4000 在服務器中僅使用一次而在其他任何地方都沒有使用,因此它的行為很奇怪。
似乎 node-java 以某種方式神奇地“覆蓋”了接收SIGUSR2
信號時發生的事情。 在這種情況下,用於重新啟動應用程序的SIGUSR2
信號(由nodemon
)可能無法終止應用程序。
(快速解決:
在 node-java 搞砸了您的SIGUSR2
處理機制后,添加以下代碼片段:
process.once('SIGUSR2', function() {
process.kill(process.pid, 'SIGUSR2')
})
請注意,您必須在node-java
(或使用它的東西,在我的情況下是node-tika
)完成它的“工作”(在我的情況下,在需要node-tika
之后立即執行此操作)。
老實說,我只有很少的理解,為什么這有效,如果有人能對此有更多的了解,我會很高興。
您可以嘗試運行此命令。
nodemon --signal SIGINT ./index.js
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.