## Problembeschreibung
Beim Programmieren mit Codex tritt immer wieder die Fehlermeldung `worker exited with code 0` auf, ohne klare Informationen, was sehr ungewöhnlich ist.
Wenn Sie dann den Dienst stoppen, stellen Sie möglicherweise sogar fest: Obwohl der Dienst gestoppt wurde, können Sie immer noch die Nuxt-Fehlerseite unter `http://localhost:9191/` (Dienstadresse) sehen!!!
## Ursache des Problems
Das Problem ist ziemlich komplex, aber um es einfach auszudrücken, es wird durch das Zusammenspiel zweier Ursachen verursacht:
1. Die Sandbox-Umgebung von Codex startet den Dienst möglicherweise automatisch, und das Merkwürdige ist, dass der belegte Port derselbe sein kann wie der lokal gestartete Dienst! Selbst wenn Sie Ihren eigenen lokal gestarteten Dienst gestoppt haben, bleiben Prozesse, die von Codex verursacht werden, bestehen!
2. Codex hat kürzlich Code geändert, was zu Problemen geführt hat! Zum Beispiel werden Parameter nicht gefunden, Referenzen sind ungültig usw.
Wenn diese beiden Bedingungen gleichzeitig auftreten, kann das Problem fast zu 100 % reproduziert werden!
## Lösungsansatz
Am einfachsten ist es am Beispiel von `Windows`:
1. Öffnen Sie den Windows Task-Manager.
2. Suchen Sie alle `node.exe` oder `Node.js` Prozesse.
3. Beenden Sie diese Node.js-Prozesse manuell.
4. Stellen Sie sicher, dass `http://localhost:9191/` nicht mehr geöffnet werden kann.
5. Starten Sie den Projekt-Dienst dann neu.
Wenn Sie mit einem Befehl überprüfen möchten, ob der Port noch belegt ist, können Sie Folgendes ausführen:
```powershell
netstat -ano | findstr :9191
```
Wenn Sie immer noch etwas Ähnliches sehen:
```text
TCP 127.0.0.1:9191 LISTENING 8928
```
Das bedeutet, dass `9191` noch von einem Prozess belegt ist, und die Zahl in der letzten Spalte ist die PID.
Sie können Prozesse auch anhand der PID beenden, z. B.:
```powershell
Stop-Process -Id 8928
```
## Weitere Hinweise
Gemäß meiner Nutzungsgewohnheit möchte ich nicht, dass die KI Anwendungen oder Dienste für mich startet, da dies dazu führt, dass ich nicht weiß, ob sie gestartet wurden oder nicht und wie ihr Status ist. Kurz gesagt, ich möchte nicht, dass mein Codex den Dienst meines Projekts aktiv startet, neu startet oder im Hintergrund aufrechterhält.
Wenn in Zukunft wieder die Situation auftritt, dass "der Dienst gestoppt ist, aber localhost noch geöffnet werden kann", überprüfen Sie zuerst, ob noch `node.exe` den Port belegt, und beurteilen Sie dann, ob es sich um ein Code-Problem handelt.