問題タブ [fflush]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - この Annoying Line が出力に干渉するのはなぜですか?
私が開発している別の大規模なプログラムで発生した問題に対処するためだけに開発したこのコードがあります。
私の目標は単純です。ユーザーが終了すると入力します。
そのまま表示します
終了コマンドが見つかりました
終了しています...
そして、これら 3 つのドットのそれぞれの間には 1 秒の遅延があります。
しかし、私が得る出力は
終了コマンドが見つかりました
終了します。迷惑なライン..
呼び出し関数からのものであり、端末に出力される番ではないのに、最初のドットの後にこの迷惑な行が出力されるのはどうしてだろうか????
何か案は。これを修正するのに10時間費やしました
process - 親プロセスまたは子プロセス内でプログラムを停止するにはどうすればよいですか?
私が開発している別の大規模なプログラムで発生した問題に対処するためだけに開発したこのコードがあります。
私の目標は単純です。ユーザーが終了すると入力します。
そのまま表示します
終了コマンドが見つかりました
終了しています...
そして、これら 3 つのドットのそれぞれの間には 1 秒の遅延があります。
しかし、私が得る出力は
終了コマンドが見つかりました
終了します。他のもの ..
ただし、親プロセスが戻り、呼び出し元の関数から他のものを実行してから、他の2つのドットを出力し続けるようです。親プロセスがそれをしないようにするにはどうすればよいですか?
c - C で ungetc() を連続して 2 回呼び出すことを保証するように fflush() を変更します。
私は C の初心者です。ungetc() を 2 回続けて呼び出したいのですが、通常の C では許可されていません。この仕事をするために変更できると誰かが私に言いましたがFflush()
、私はそれを行う方法がわかりません。
これが私のコードです。私のFflush
唯一の1つungetc()
を許可します。2回許可したいです。
bash - bashで、端末に出力された不完全な行を強制的にフラッシュするにはどうすればよいですか
私は次のようなことをするスクリプトを書いています:
貧弱なバッシュスキルを許してください。とにかく、問題は、行の最初の部分do_stuff
が完了するまで印刷されないことです-ユーザーが次に何を実行しているのかを知ることは私にとって重要ですが。私はペダンティックなので、改行を印刷しないことも重要です。したがって、テキストはバッファ内にあり、フラッシュされません。
この質問は非常に似ていますが、OPは基本的には満足していました。私は違います。やむを得ない場合は、curses 関連の何かを使用することも考えています (ただし、これは結局のところシェル スクリプトであることを忘れないでください)。
c - glibc 2.23 での fflush 動作の変更
2.23 の時点で、glibc は fmemopen で作成されたストリームのフラッシュに対する動作を変更したようで、位置を 0 にリセットします。バグですが、これらのバグのいずれもこの動作について言及しておらず、私には間違った変更のように思えます。これが新しいバグなのか、それとも正しい修正なのかを判断しようとしています。私自身のコードは古い動作に依存しており、glibc 2.23 に付属する Ubuntu 16.04 に更新した後に壊れました。これについて何か知っている人はいますか?
サンプルコードは次のとおりです。
以前のバージョン (ubuntu 5.10< など) では、次のようになります。
今それは戻ります:
c - マルチスレッドシグナルハンドラ内でfflushを呼び出していますか?
マルチスレッド Web プロキシを実装するための基本的なスケッチがあります。
kill
これは、ネットワーク管理者がコマンドを使用SIGUSR1
して Web プロキシに信号を送信することにより、バッファリングされたログ エントリをログ ファイルにフラッシュできるというものです。fflush
ただし、シグナル ハンドラ内で呼び出すのが良い考えかどうかはわかりません。スレッドセーフであることは知っfflush
ていますが、非同期シグナルセーフだとは思いません。fflush
マルチスレッドのシグナルハンドラ内で呼び出しを行うと、どのような並行性の問題が発生する可能性がありますか?