Mein Schlafprozess akzeptiert TCP-Verbindungen?


0

Nachdem das STOP-Signal an einen Prozess gesendet wurde, funktioniert es nicht mehr wie erwartet, akzeptiert jedoch weiterhin TCP-Verbindungen. So funktioniert es irgendwie?


1
Klingt so, als ob das Betriebssystem sie in Ihrem Namen ausnimmt. Ich denke, dies verringert die Latenz.
Strg-Alt-Delor

Antworten:


2

Sobald ein Unix-Prozess eine IP-Adresse und einen Port an einen Stream-Socket bindet, akzeptiert der Kernel TCP-Verbindungen für diese Adresse / diesen Port und fährt fort, bis der Socket nicht mehr gebunden oder geschlossen ist. Der Prozess erhält über den Systemaufruf accept () Zugriff auf die Verbindungen, die Verbindungen werden jedoch trotzdem hergestellt. Nach dem ersten TCP-Handshake ist die Verbindung inaktiv, bis accept () aufgerufen wird und der Prozess beginnt, den verbundenen Socket zu verwenden. Der Kernel akzeptiert, puffert und bestätigt auch eine systemspezifische Datenmenge, bevor accept () aufgerufen wird.

Es treten also Verbindungen auf, aber es gibt keine realen Aktivitäten (E-Mails werden gesendet, Webseiten werden bedient usw.), während der Prozess angehalten wird.


Hört sich plausibel an. Wollte nur hinzufügen, da ist Aktivität. Daten, die über die Verbindung an den Prozess gesendet werden, werden bestätigt.
Holy Sheet
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.