Prozesse werden in den Ruhezustand versetzt, wenn sie auf etwas warten, normalerweise E / A.
Ihr Prozess befindet sich im S
Status, wenn Lese- und möglicherweise Schreibvorgänge ausgeführt werden, die blockieren. Kann auch beim Warten auf Semaphoren oder andere Synchronisationsprimitive auftreten.
Sie können es nicht "aufwecken" - es wird nur fortgesetzt, wenn die Daten / Ressourcen, auf die es wartet, verfügbar sind.
Dies ist alles normal und erwartet und normalerweise kein Problem. In der Regel wird dieses "Programm" in der Befehlszeile ohne Datei ausgeführt:
while (<>) { print; }
wird die meiste Zeit im Ruhezustand verbringen, was gut ist - Sie möchten nicht, dass CPU verschwendet wird, während auf Benutzereingaben gewartet wird.
Wenn Sie der Meinung sind, dass dies ein Problem ist, ändern Sie die Art und Weise, in der Sie Ihre E / A ausführen (Lesen größerer Blöcke, in netten Vielfachen der Blockgröße des zugrunde liegenden Geräts, Ausführen von speicherabgebildeten E / A usw.).