Angenommen, Sie haben bereits einen Server auf Port 1337
ausgeführt hatte Wenn Sie versuchen, einen anderen Server auf dem gleichen Port zu laufen, sollten Sie die folgende Fehler
Error: listen EADDRINUSE 0.0.0.0:1337
at Object.exports._errnoException (util.js:1036:11)
at exports._exceptionWithHostPort (util.js:1059:20)
at Server._listen2 (net.js:1252:14)
at listen (net.js:1288:10)
at Server.listen (net.js:1384:5)
at EventEmitter.listen (/share/CE_CACHEDEV1_DATA/Web/radiationRepository/web/node_server/node_modules/express/lib/application.js:618:24)
at Object.<anonymous> (/share/CE_CACHEDEV1_DATA/Web/radiationRepository/web/node_server/server.js:51:5)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
Dieser Fehler erhalten Stoppen Sie den Knoten. Für PM2, wenn es das Ausfahrtssignal empfängt, sollte es versuchen, den Server wieder und nutzen Sie die folgenden Protokolle
0|app | Error: listen EADDRINUSE 0.0.0.0:1337
0|app | Caught exception: Error: listen EADDRINUSE 0.0.0.0:1337
PM2 | App [app] with id [0] and pid [1167], exited with code [0] via signal [SIGINT]
PM2 | Starting execution sequence in -fork mode- for app name:app id:0
PM2 | App name:app id:0 online
ich einige Protokolle hier übersprungen haben, neu zu starten. Daher sollte nur ein Server am Port vorhanden sein. PM2 wird weiterhin die Tasks akzeptieren und versuchen, den Server neu zu starten, wenn dieser Fehler auftritt.
Sie können pm2 logs
für die Suche nach den Protokollen von PM2 laufen
Update: Ich habe versucht, die gleiche Skripte mit PM2 laufen. pm2 erlaubte mir nicht, das gleiche Skript mit mehreren Zeit zu laufen, wenn ich die Dateien nicht änderte.