問題タブ [mkfifo]

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.

0 投票する
1 に答える
25 参照

linux - mkfifo されたパイプが ~25 秒後にしか更新されないのはなぜですか?

を使用して、3秒ごとに7行のテキストデータを作成したmkfifoデバイスに書き込む1つのプログラムがありますprintf()cat /path/to/device別の端末ウィンドウで読み取ろうとしています。ただし、3 秒ごとに更新する代わりに、25 秒ごとに 1 回だけ何かを出力します。なんで?更新を速くする方法は?(Ubuntu ワイリー)

0 投票する
1 に答える
407 参照

c - C の mkfifo() によって生成されるセグメンテーション違反

これを数時間デバッグしようとしましたが、まだ行き詰まっています...

このコードの「mkfifo」呼び出しでセグメンテーション違反が発生します (残りの部分はここでは関係ないと判断したため、これはコード全体の一部にすぎません)。

この出力が生成されます(executableFileは私のファイルの名前です):

gdb バックトレースはこれを生成します:

「pipe.fifo」ファイルが作成されますが... よろしくお願いします!

編集:

error は単に error.c でそのように定義されており、error.h で署名されています。

0 投票する
0 に答える
120 参照

c - デーモン群とメインプロセスの接続 - mkfifo

タイトルのようにデーモン (リーダーのないデーモンのグループ) をメイン プロセスに接続しようとしましたが、問題は、各デーモン (SIGUSR1 シグナルをサポートしている) からメイン プロセスにステートメントを送信する必要があることですが、私のコードではmkfifoを使用しましたが、まったく機能していません..
メインプロセスのソースは次のとおりです。

そして、ここに私がデーモンを作成するいくつかのソースコードがあります:

少なくとも私はデーモンを良い方法で作成していることについて確信が持てません..そして、後で実行できるシグナルをどこに置くべきですか?

何か提案はありますか?

0 投票する
1 に答える
440 参照

git - git リポジトリに fifo という名前の UNIX を含めないことはできますか?

私は実験からこれに対する答えを知っていると思いますが、私のグーグルではそれについて決定的なものは何も見つかりませんでした. だから私は明確化を探しています。検討

statusコマンドは何も表示しません。私の結論は、名前付きパイプを git リポジトリに置くことはできないということです。私は正しい結論に達しましたか?それとも、ここで見逃したものがありますか?

0 投票する
1 に答える
647 参照

c - クライアント サーバー実装の名前付きパイプ - サーバーは同じクライアントからの 2 つの要求をどのように区別するか

名前付きパイプを使用してクライアント サーバー モデルを実装しようとしました。これで、クライアントがサーバーにメッセージを 1 つだけ送信すると、サーバーは送信されたメッセージを識別して出力することができます。クライアントが複数のメッセージを同じサーバーに送信すると、サーバーはメッセージを区別できず、両方のメッセージを個別に出力する代わりに、両方のクライアント メッセージを一緒に出力します。これは私が使用しているコードです:

今、サーバー側で一度に 80 バイトを読み取ろうとしていることがわかっているため、すべての文字をまとめて読み取ることができますが、サーバー側で一度に 5 バイトを読み取ろうとすると、無限ループに陥ります。私のコンセプトに何か問題があるに違いありません。一度に 5 バイトを読み取るようにサーバー側を変更しているときに、疑問が 1 つあります。クライアントから送信されたすべてのメッセージを読み取った後にブロックしないのはなぜでしょうか。

0 投票する
3 に答える
553 参照

linux - mode_t 0760 とはどういう意味ですか?

今日から名前付きパイプの勉強を始めます。新しい名前付きパイプを作成するには、この関数を使用する必要があることを読みました:mkfifo (const char* nom, **mode_t mode**);

例:

私の質問は、なぜ 2 番目の引数で " 0 " ( 0 760) から始めたのかということです。 7 所有者にすべてのアクセス許可を与える 6 はグループが読み書きできることを意味し、他のグループにはアクセス許可がないことを意味します

0 投票する
1 に答える
734 参照

linux - Linux (C Linux) で忙しく待たずに fifo を聞く

(mkfifo() を使用して) FIFO を作成しましたが、何らかのプロセスがそれにデータを数回書き込むまで待つ必要があります。私は次のコードを書きました: (悪いスタイルは無視してください。例を簡潔にするためです)

忙しい待機を避けるために、次の行を追加しました。

(fd は FIFO の記述子です)
しかし、私はそれが本当に好きではありません。人工的に見えます。それを行うより良い方法はありますか?