Einen Prozess daran hindern, einen bestimmten Port abzuhören, ihn aber nicht zu beenden?

1

Unter Linux. Ich habe Tomcat gestoppt, das mit dtomcat5 auf Port 80 lauschte. Ich denke, das war der anmutige Halt? Ich kann es nicht erneut starten, da Java weiterhin Port 80 überwacht. Gibt es eine Möglichkeit, den Java-Prozess daran zu hindern, Port 80 zu überwachen, ohne ihn zu beenden? Der Java-Prozess wird von weit mehr als Tomcat verwendet, so dass ich das ganze System neu starten müsste, wenn ich ihn beenden würde. Vielen Dank.

Charlie Wilson
quelle
Von welchem ​​Java sprichst du? Laufzeit? Server?
Chad Harrison
Es ist Laufzeit.
Charlie Wilson

Antworten:

1

Es ist Aufgabe eines Programms, die von ihnen verwendeten Ports einzurichten, zu warten und zu zerstören. Als solches gibt es für ein anderes Programm (oder das Betriebssystem) keine Möglichkeit, den Port freizugeben, es sei denn, das Programm selbst hat den Befehl, die Überwachung eines Ports zu beenden. Wenn Sie den Vorgang beenden, wird der Port freigegeben, das aktuelle Programm kann ihn jedoch so lange offen halten, wie es ausgeführt wird.

Ihre Beschreibung des Prozessmodells verwirrt mich ein wenig. Wenn Sie 'sudo netstat -ntlup' ausführen, wie heißt der Prozess, der 80 abhört? Wenn Sie 6 Java-Programme ausführen, werden in der Regel 6 Java-Prozesse ausgeführt, und Sie können jedes davon jederzeit beenden, ohne die anderen zu beeinträchtigen. Kannst du bitte Erklären?

Frank Thomas
quelle
Der Prozess ist Java. Ich bin mir ziemlich sicher, dass es von einer anderen Java-Anwendung als Tomcat stammt, die ich lieber nicht beenden möchte. Ganz gleich. Ich glaube, Sie haben meine Frage beantwortet. Ich werde den Prozess trotzdem abbrechen müssen. Ich glaube nicht, dass es eine Möglichkeit gibt, dem Prozess zu befehlen, nicht mehr zuzuhören.
Charlie Wilson