In meinem Python-Socket-Programm muss ich es manchmal mit unterbrechen Ctrl-C. Wenn ich das mache, wird die Verbindung mit geschlossen socket.close()
.
Wenn ich jedoch versuche, es erneut zu öffnen, muss ich eine Minute warten, bevor ich wieder eine Verbindung herstellen kann. Wie schließt man eine Steckdose richtig? Oder ist das beabsichtigt?
python
sockets
connection
errno
Skylerl
quelle
quelle
quelle
Wenn Sie einen TCPServer, UDPServer oder deren Unterklassen im SocketServer-Modul verwenden, können Sie diese Klassenvariable festlegen (bevor Sie einen Server instanziieren):
(via SocketServer.ThreadingTCPServer - Kann nach Neustart des Programms nicht an Adresse gebunden werden )
Dies bewirkt, dass der init (Konstruktor):
quelle
weil Sie versuchen, den Dienst an demselben Port auszuführen, der bereits ausgeführt wird.
Manchmal passiert es, weil Ihr Dienst im Prozessstapel nicht gestoppt wird. du musst sie töten
Hier muss nichts installiert werden. Dies ist der einzeilige Befehl, um alle laufenden Python-Prozesse abzubrechen.
für Linux-basiertes Betriebssystem:
Bash:
Fisch:
quelle
Für mich hat nichts funktioniert, außer einen Unterprozess mit diesem Befehl auszuführen, bevor ich Folgendes aufrufe
HTTPServer(('', 443), myHandler)
:Dies gilt natürlich nur für Linux-ähnliche Betriebssysteme!
quelle
Eine einfache Lösung, die für mich funktioniert hat, besteht darin, das Terminal zu schließen und neu zu starten.
quelle
Suchen Sie zunächst mit diesem Befehl die Python-Prozess-ID
Sie erhalten eine PID-Nummer, indem Sie Ihren Python-Prozess in der zweiten Spalte benennen
Beenden Sie dann den Prozess mit diesem Befehl
quelle
Erhielt den gleichen Fehler:
Schritte befolgt:
1 - verwendet
$ ps -fA | grep python
2 - den gesamten Prozess beendet
3 - geschlossenes Terminal
4 - neu gestartet und die Anwendung gestartet (mkchromecast).
5 - hat diese Fehlermeldung nicht erhalten.
Ich habe ein anderes Problem. im Anschluss daran.
quelle
Führen Sie den Befehl aus
Beispiel für einen Kolben:
fuser -k 5000/tcp
Denken Sie auch daran, dass dieser Fehler auftritt, wenn Sie mit Strg + z eingeben. Verwenden Sie zum Beenden Strg + C.
quelle