2011-04-23 11 views
1

私は少しマルチスレッドのSMTPプログラムを書いた。問題は私がそれを実行するたびに、それは直後にコンピュータをフリーズすることです。ネットワークカードがまだ点灯していて、電子メールが受信されているため、スクリプトが正常に動作しているように見えますが、場合によっては完全にロックされて電子メールの送信が停止することがあります。Python:私のSMTPスクリプトがコンピュータをフリーズするのはなぜですか?

ここに2つのスクリプトファイルへのリンクがあります。あなたは、サブプロセスを作成するすなわちpopenを使用している、

readFile.py newEmail.py

+0

コードの参照にpastebinを使用しないでください! –

+0

@RestRisikoなぜですか? – Dan

+0

なぜペーストビームのデータが揮発性ですか? –

答えて

3

:まず最初は、プログラムを起動するために使用されるものです。スレッドは処理されません。私はこれがあなたが意味していると仮定します。

私の推測によれば、プログラムはプロセスを連続的に生成するループに詰まり、OSはおそらく嫌いです。 (forkbombとして知られていますが、これはプロセス制限がulimitに設定されていない限りLinuxをフリーズするのに適しています)。しかし、私はあなたには不具合が見つかりませんでしたが、すべてのプロセスが正常に終了した場合は、プロセスが実際に終了しているかどうかを確認するために、システムを注意深く監視してください(psまたはtop)。

+0

Hrm、多分私はこれをやるでしょう。システムはロックされ、私はpsを実行することができないので、私は前者(ログファイルへの書き込み)に行く必要があると思います。 – Dan

+1

私の考えは、フリーズする前にそれを実行することでした。実際には、クラッシュを防ぐために 'ulimit'を使用してプロセスの数(' ulimit -u')を制限するのがよりクリーンです。 – a3nm

+0

Dan:この答えが役に立つなら、上向きの矢印で投票してください。あなたの質問に答えたら、矢印の下にあるチェックマークをクリックして答えを "受け入れる"べきです。あなたと回答者の両方がこのことから評判を得るでしょう。 – Wilduck

関連する問題