回答:
プロセスは何か、通常はI / Oを待っているときにスリープ状態になります。
S
ブロックしている読み取りや書き込みを実行しているとき、プロセスは状態になります。セマフォまたは他の同期プリミティブを待機しているときにも発生する可能性があります。
「起動」することはできません-待機しているデータ/リソースが利用可能になった場合にのみ続行します。
これはすべて正常で予想されるものであり、通常は問題ではありません。通常、この「プログラム」はファイルなしでコマンドラインで実行されます。
while (<>) { print; }
スリープ状態でほとんどの時間を費やしますが、これは良いことです-ユーザーの入力を待っている間にCPUを浪費させたくないのです。
あなたがいる場合だと思い、これは問題である、(I / Oなどのメモリマップをやって、基本となるデバイスのブロック・サイズの素敵な倍数で、読んで大きな塊)、あなたのI / Oを行う方法を変更してみてください。