簡體   English   中英

使用 node-java 包時,nodemon 不會重新啟動服務器

[英]nodemon is not restarting the server when using node-java package

使用node-java包時,文件更改時nodemon 不會重新啟動 如果我刪除 node-java包,那么nodemon 將在文件更改時重新啟動

在服務器中使用 node-java 包時,即使手動重啟(rs)也不起作用。 以下是行為。

nodemon 使用 node-java 時的行為 阿隆

甚至它拋出以下內容:

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM