2

ユーザー入力を複数回要求し、次の入力が期待される時間中にバックグラウンドで入力を処理するbashスクリプトがあります。私は時々このエラーを受け取り続けます。

read error: 0: Resource temporarily unavailable

スクリプトのバックグラウンドプロセスがこれを引き起こしているのではないかと思ったので、バックグラウンドで実行されるコマンドの最後に<dev / nullを付けてみましたが、それは大いに役立ちます。

./somescript.sh  >> log.txt & < /dev/null

どんな助けでも大歓迎です。

4

2 に答える 2

0

あなたのプログラムが何をしているのかをもっと知らずにこれを診断するのは難しいですが...

どういうわけか、私の脳の一部は、これはカーネルから来ており、フォークに関連していると言っていますが、私はそれを考える理由を特定することはできません。スクリプトを実行して、メモリ使用量を監視してみてください(プロセッサもありますが、これは私にはメモリのように感じます)。[上より]詳細な統計については、実行watch -d cat /proc/meminfoして、そのエラーが発生し始めたときに何が起こるかを監視してください。

于 2009-09-17T05:23:34.227 に答える
0

エラーを/dev/ nullにリダイレクトするだけで、うまくいきました。

some_function1 2> /dev/null &
some_function2 2> /dev/null &
于 2009-11-30T13:56:59.577 に答える