Aus der Sicht eines Teils des Systems, der sich nicht mit dem Status und den Statistiken des Prozesses befasst, ist ein Prozess, der gestoppt wird (dh erst geplant wird, wenn er ein SIGCONT erhält), nicht von einem laufenden Prozess zu unterscheiden, aber antwortet nicht auf eine bestimmte Anfrage. Beispielsweise funktioniert der Netzwerkstapel auf die gleiche Weise, unabhängig davon, ob der Prozess gestoppt ist oder Arbeit leistet (mit CPU-Zeit), aber keinen Systemaufruf tätigt, oder ob er in einem Systemaufruf blockiert wird, der vom Netzwerkursprung nicht entsperrt wird Ereignis (z. B. Warten auf das Lesen aus einer Pipe) usw.
Während der Prozess gestoppt ist, gibt es keine Zeitüberschreitung im Prozess. Normalerweise gibt es auch keine Zeitüberschreitungen im Netzwerkstapel: Das Paket wurde vom Computer empfangen, auch wenn es nicht am Computer angekommen ist. Was beispielsweise die TCP-Übertragung betrifft, wurde das Paket empfangen und es liegt an der Anwendung, zu antworten.
Wenn der Puffer des Sockets voll ist, beginnt der Netzwerkstapel, Pakete zu verwerfen.
Es gibt keinen Grund, warum das Verhalten des Netzwerkstapels vom Status des Prozesses abhängt. Der Prozess kann jederzeit aus dem gestoppten Zustand herauskommen. Es können mehrere Prozesse auf einen Socket warten, sodass bei jeder Entscheidung, die auf dem Prozessstatus basiert, alle berücksichtigt werden müssen.
Gilles 'SO - hör auf böse zu sein'
quelle