問題タブ [flock]

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

php - PHP flock()の代替

PHPのドキュメントページにflock()は、IISでの使用は安全ではないことが示されています。すべての状況で信頼できない場合flock、同じことを安全に達成できる別の方法はありますか?

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

bash - bash flock:ロックを取得できない場合は終了します

次のロックメカニズムは、cronジョブが同時に実行されるのを防ぐために使用されます。

2つのインスタンスを一緒に実行する場合、後者は最初のインスタンスが終了するまで待機してから実行します。これにより、実行を待機しているスクリプトのバックログが発生する可能性があります。

flockこのスクリプトを変更して、ロックを取得できない場合にスクリプトを終了するようにするにはどうすればよいですか?私は-n成功せずに試しました。

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

apache - WCHAN=flock_lock_file_waitのときにApacheが待機しているファイルを確認する方法

Webサーバーに問題があり、ファイルロック(PHP flock()によって引き起こされる)が解決するのを待つApacheプロセスがどんどんスタックしていますが、解決することはありません。最終的に、サイトはどんどん遅くなり、Apacheが再起動されるまで、最終的に完全に停止します。

私は、おそらく私たちの自家製のディスクキャッシュメカニズムで、どういうわけか悪いコードがこれの背後にあるという理論に取り組んでいます。しかし、私はそれを追跡することはできません。(Ubuntuで実行しています。)

私の質問は、どのファイルがスタックしているのかをどうやって見分けることができるかということです。ハングアップがどこにあるかを知ることができれば、悪いコードがどこにあるかをはるかに簡単に見つけることができます。このコマンドを実行すると、次のようになります。

私はこれを手に入れます:

これから、Apacheがロックされている/待機している正確なファイルを確認する方法はありますか?

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

c# - 離れていくのではなく、群がって取り囲む?

群れがターゲットを取り囲んで攻撃する群れの例はありますか?

私はオーバーヘッドシューターに取り組んでおり、近接敵の群れが敵を急いで取り囲み、攻撃を続けながら、背後にさらにファイルを配置したいと考えています. 私はそれらすべてが一箇所に集まるのを避けようとしていますが、群れは完璧に見えますが、すべての「ターゲットに移動」の例では、ターゲットに向かって移動し、その後すぐに離れます。

アイデア?

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

linux - Linux flock(2) が排他ロック要求を枯渇させないようにする方法は?

Linux で flock(2) を使用して、共有ロック モードと排他ロック モードの両方を使用して、自作データベースのリソースへのアクセスを制御しています。共有ロックが許可されている場合、排他ロックを待機しているブロックされたプロセスがあるかどうかに関係なく、別のプロセスも共有ロックを取得できることがわかりました。これは、多くの重複するリーダーを持つ人気のあるリソースの場合、排他ロック要求が長時間 (おそらく永遠に) 枯渇する可能性があることを意味します。

この動作は flock(2) の man ページと矛盾していませんが、このコードは何年もの間 FreeBSD と OS-X で問題なく動作しているので、私は驚きました。私の推測では、排他ロックが永久に不足するのを防ぐために、BSD システムはある種のキューを実装する必要があると思います。

私の主な質問は、排他ロックが不足しないようにするための簡単なトリックまたはプログラミングパターンはありますか?

私の好奇心を満たすための二次的な質問ですが、これが私が疑うようなBSDシステムで本当に違うかどうか誰か知っていますか?

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

shell - flock ユーティリティのファイルハンドルの選択

ユーティリティのflockマニュアル ページには、次の使用例が示されています。

がロックファイルのファイルハンドルであると仮定する200と、同じファイルハンドルが他のプロセスによって既に使用されているために、実行中に失敗する可能性はありますか? もしそうなら、ロックが確実に機能することを確認するためのトリックはありflockますか?

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

php - PHP編集のためにロックされているファイルへのアクセス-権限拒否エラー

いくつかのcsv解析を行っていますが、fclose()関数が呼び出される前に解析をキャンセルすると(別のページに移動するか更新することで)、戻ってプログラムを再起動すると、次のエラーが発生します。

スプレッドシート.csvファイルをExcelで開こうとすると、「使用中のファイル」エラーが表示され、「spreadsheet.csvは「別のユーザー」による編集のためにロックされています。」というエラーが表示されます。ファイルにアクセスしようとしている状態。phpを使用して、ファイルが編集用にロックされているかどうかを確認し、ロックを解除する方法はありますか?

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

c++ - Linux (GCC 4.6) での C++ ifstream の群れ

環境

GCC 4.6コンパイラを備えたLinuxシステム用に、C ++で特化したWebサーバーアプリケーションをゆっくりと作成しています(C onion httpサーバーライブラリとJSONシリアライゼーション用のJSONCPPライブラリを使用します)(移植性は気にしません)非 Linux システム、または 4.5 より前の GCC または 3.0 より前の Clang に)。

ユーザーの「データベース」 (ユーザーは非常に少なく、おそらく 1 人か 2 人なので、パフォーマンスは問題ではなく、O(n) アクセス時間は許容範囲内です) を JSON 形式で、おそらく JSON の小さな配列として保持することにしました。のようなオブジェクト

フィールドは名前でソルトされたユーザーパスワードのcrypt(3) "暗号化" であるという規則 (アラ.htpasswd) を使用します。_crypasswd_user

ユーザーを Json オブジェクトで記述したい理由は、私のアプリケーションが、ユーザーを記述する Json オブジェクトにいくつかの JSON フィールド (privileges上記など) を追加する (置き換えない) 可能性があるためです。C++ の Json 解析ライブラリとしてJsonCppを使用しています。このライブラリはifstreamを解析する必要があります。

だから私は自分のパスワードファイルを読んでいます


質問

明らかに、 1 つのプロセスだけが読み取りまたは書き込みを行っていることを確認するために、パスワード ファイルflockを変更したいと考えています。lockfこれらの関数を呼び出すには、ifstream jsinpass. しかし、Google はほとんどがKreckel の fileno (完全だと思いますが、少し正気ではstd::ifstreamありません) を提供して、ファイル記述子を取得します。コンストラクターがその一部を事前に読み取らないかどうかはわかりません。したがって、私の質問:

ifstreamC++ (Linux、GCC 4.6)をロックするにはどうすればよいですか?

(または、その問題に取り組む他の方法を見つけましたか?)

ありがとう

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

linux - LinuxマシンでCのディレクトリをロックするにはどうすればよいですか

flock または lockf はディレクトリで機能しますか? Linux マシンで C のディレクトリをロックする別の方法はありますか?