問題タブ [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 投票する
1 に答える
456 参照

c - lseek はファイルのリダイレクトで機能しますか?

では通常lseek動作しませんstdin

しかし、次のようにプログラムを実行するとどうなるでしょうか。

./a.out < filename

現在stdinはファイルであり、キーボードではありません。

lseekそこで働きますか?

僕にできる

lseek(0, -1, SEEK_CUR)

と同じ効果が得られます

ungetc()?

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

c - O_RDWR の読み取りおよび書き込みアクセスのためにファイルをロックする方法

読み取り/書き込みのためにファイルをロックする方法についての答えが見つかりません。

以下のコードは正しいですか?

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

perl - 以下のコードを使用して、replace.exe の単一インスタンスが実行されていることを確認しました。

以下のコードを使用して、replace.exe の単一インスタンスが実行されていることを確認しました。replace.exe を作成して Windows で実行すると、サイズが 0 kb の replace (拡張子なし) という名前のファイルがもう 1 つ作成されます。

そのファイルを作成したくありません。それ以外の場合は、replace.exe の実行が終了した後にファイルを自動的に削除します。

助けてください。ありがとう

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

c - ファイルで exec() を呼び出す前に、マウント ポイントに noexec が設定されていることを検出しますか?

私のプログラムは、ユーザーが指定したディレクトリに書き込まれたバイナリに対して exec() を呼び出します。ディレクトリが「noexec」でマウントされたツリーにある場合、exec() は EACCES で失敗します。

exec() に失敗する代わりに、ディレクトリが noexec でマウントされているかどうかを確認できるようにしたいのですが、fcntl()、stat()、または mount() のいずれもこの情報を返しません (マンページの読み取りから)。exec システム コールのカーネル ソースを見ると、この情報は inode のメタデータに格納されているように見えますが、この情報がどのシステム コールからも返されていません。

これを行う方法を知っている人はいますか?

ありがとう。

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

c - ファイル記述子を -1 として、cmd を F_GETFL として呼び出される fcntl() を呼び出す目的は何ですか?

このコード行の意味を理解しようとしています:

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

c - "fcntl()" で pid ファイルをロックおよびロック解除する方法

fcntl()pid ファイルのロックとロック解除に使用する例を見つけるために、ネットやスタックオーバーフローでさえ調査を行いましたが、"/var/run/myapp.pid"その明確な例は見つかりませんでした。

fcntl()pid ファイルのロックとロック解除に使用する例を教えてください。

ロックをブロックしないでください (ファイルがすでにロックされている場合)

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

c - 方法 - ファイル ロックを使用した行列要素の合計 (unix - C/C++)

私はM[nxn]行列を持っており、次の基準を考慮して [n, n] ポイントの要素の合計を計算する必要があります:
-行または列をランダムに選択します。
- その行または列の最後の要素の要素を合計し、他の要素を 0 に設定します。

ここでの問題は、複数のプロセスを使用してこの合計を行う必要があるため、作業している各行または列をロックする必要があることです。どうすれば解決できますか?およびそれに属する他のいくつかのもの
を使用する必要があることは知っていますが、それを解決する方法に興味があります。 (アドバイスありがとう!)fcntl()

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

linux - Linux でロックされたファイルをアトミックに作成するにはどうすればよいですか?

シナリオ: ネット経由でファイルをフェッチする必要があるプロセスを多数実行しています。ファイルが既にダウンロードされている場合は、ディスクにキャッシュします。別のプロセスがファイルをダウンロードしている場合は、ダウンロードが完了するまでブロックします。

これを行う最も簡単な方法を見つけようとしています。明らかな方法は次のとおりです。

このシステムは、(一見) 競合状態なしで上記の目標を達成します。

残念ながら、open() などを使用して Linux でロックされたファイルを作成する方法に関するドキュメントは見つかりませんでした。作成ステップを次のように分割すると:

作成とロックの間に競合状態が存在するようになりました (非作成プロセスは、作成者がロックを取得する前にロックを取得します)。

ファイルごとに外部ロックファイル (例: filename + '.lock) を使用できることに気付きました。これは、ファイル名を作成する前に取得しますが、これは.. 洗練されていないと感じます (そして、実際に.lock サフィックス!)

とにかくアトミックに作成してロックする方法はありますか(Windowsが提供するように)、または外部ロックファイルメソッドは標準/必須のものですか?

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

c - 別のプロセスから fcntl ロックを強制的に削除する

これらの範囲をロックしていないプロセスから、ファイルの fcntl バイト範囲ロックを削除する方法はありますか?

ファイルにバイト範囲ロックを設定するプロセスがいくつかあります。基本的に考え出す必要があるのは、指定したファイルのバイト範囲ロックを削除するのに役立つ外部ツールです。