問題タブ [fcntl]

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 投票する
2 に答える
31389 参照

c - 受け入れるソケットをノンブロッキングにすることは可能ですか (そして安全ですか)?

accept()ブロッキング ソケットで呼び出しを中断する方法を探しています。これはライブラリにあることを意図しており、ユーザーシグナルを乱雑にしたくないため、シグナルを使用することはオプションではありません。使用select()は別のオプションですが、さまざまな理由で、私の場合はあまり魅力的ではありません。

可能であれば、ソケットが呼び出しでブロックされている間に、別のスレッドから( fcntl()and を使用して) ソケットを非ブロック モードに設定するとうまくいきます。予想される動作は、呼び出しがorで返されることです。O_NONBLOCKaccept()accept()EAGAINEWOULDBLOCKerrno

それは本当にそのように機能しますか?安全ですか?ポータブル?

WSAIoctl()この方法の Windows への適用可能性 (およびを使用する必要がある場合FONBIO) について知っている場合は、私も興味があります。

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

c - fcntlはソケットfdの不正なファイル記述子を検出しません

fcntl(sockfd,F_GETFD,0)不正なファイル記述子を検出しませんselectが、同じsockfdでは不正なファイル記述子エラーが発生します。

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

c - POSIX ファイル ロックは再入可能ですか?

を通じてPOSIX強制ファイル ロックを使用していますfcntl。それらのロックが再入可能かどうか、つまり. プロセスは、すでに所有しているロックを取得できますか?

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

c++ - ヘッダー fcntl.h および unistd.h を使用してファイルの読み取りと書き込みを行うにはどうすればよいですか?

ヘッダー ファイル<fcntl.h><unistd.h>. 彼らの手順の動作をテストするために小さな例を作成しましたが、期待どおりに機能しませんでした。これが私のコードです:

入力ファイルは次のとおりです。1 2 3 4 5 6 7 8 9 10

プログラムは正常にコンパイルされましたが、出力ファイルは作成されませんでした。私のコードの何が問題なのか誰か教えてもらえますか? 前もって感謝します。

0 投票する
4 に答える
8199 参照

python - Python スクリプトの同時実行インスタンスを防止する

重複の可能性:
Python: プログラムの単一インスタンス

ジョブの完了にランチャー間隔よりも長い時間がかかる場合、cron ジョブが同時インスタンスを実行しないようにする必要があります。これを実現するために群れの概念を使用しようとしていますが、fcntl モジュールが期待どおりに動作していません。

これが2つの同時インスタンスを防ぐために機能する理由を誰か教えてください:

そして、これが機能しない理由:

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

python - Pythonのfcntl.ioctlで「op」とはどういう意味ですか?

fcntl のドキュメントによると、の使用法fcntl.ioctlは次のとおりです。

としてop定義された

op が「何であるか」には答えません。それはintですか?文字列?構造?Linux プラットフォームなどでこのコマンドを適切に使用するにはどうすればよいですか?

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

python - Python の fcntl.ioctl の呼び出しで無効な引数エラーが発生するのはなぜですか?

次の方法でfcntl.ioctlpythonのfcntlパッケージのコマンドを利用しようとしています

file_handlerつまり、 で作成されたファイル ハンドラーを含む、3 つのバージョンすべてopenです。それぞれが私に同じエラーを与えます:

簡単な質問: に適切に電話をかけるにはどうすればよいfcntl.ioctlですか? それともfcntl.fcntl代わりに使う?

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

linux - Perl を使用して HDIO_GET_IDENTITY を読み取る方法

perlを使ってLinuxでHDIO_GET_IDENTITYを読み出したいと思っています。Fcntl モジュールを使用しようとしていますが、Perl モジュールのドキュメントがあまり説明的でないことがわかりました。誰でもこれを行う方法を教えてもらえますか?

https://metacpan.org/module/Fcntl

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

ruby - File#flock を使用して排他ロックの非ブロック要求を行うにはどうすればよいですか?

ノンブロッキング ロックを要求するにはどうすればよいですか?

ファイルを個別にロックしようとすると、 Ruby のFile#flockが期待どおりに機能しないのはなぜですか? ブロック内のファイルをロックすることは、この問題の正しい解決策ではありません。ポイントは、永続的なロックでのロックの動作を示すことだからです。ブロック内で File#flock を使用すると、ブロックの終了時にロックが解除されるため、問題が適切に示されません。

File#flock は、特にノンブロッキング ロックを要求する場合に、さまざまな方法で失敗します。以下にいくつかの例を示します。

File#flock の失敗例

  • #flock はロック要求をタイムアウトにする方法を提供しないため、複数の排他ロックを使用すると無限に待機します。

    /li>
  • ファイルが排他的にロックされているときに非ブロッキング ロックを要求すると、無効な引数の例外が発生します。

    /li>
  • ドキュメントには、#flock は「locking_constant (以下の表の値の論理和) に従ってファイルをロックまたはロック解除する」と記載されています。ただし、論理 OR はプラットフォームによってはErrno::EINVALorを発生させます。Errno::EBADF

    /li>

ネイティブ File#flock ソリューションを推奨

排他ロックを取得できない場合はTimeout モジュールを使用して発生させることTimeout::Errorができますが、File#flock はこの問題をネイティブに解決できるはずです。では、実際にブロックせずに排他ロックを要求するにはどうすればよいのでしょうか?