問題タブ [lockfile]

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 に答える
1283 参照

php - PHP のロックファイル

現時点で 1 回だけ実行する必要がある PHP スクリプトがあります。すでに動作しているときに誰かが再度起動しようとすると、2 番目のプロセスはすぐに終了し、エラー メッセージが表示されます。

以下のコードを 2 回目に起動しようとすると、10 秒間待機し、エラー メッセージがすぐに出力される代わりに何も出力されません。どうしたの?

注意: スクリプトはブラウザから起動されます! コンソールでは、すべてが正しく機能します

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

bash - bash スクリプトの Cronjob が時々 2 分間一時停止する

リモート mysql サーバーでレプリケーションをチェックする CEntOS 5.5 マシンで bash スクリプトを実行しようとしています。このスクリプトは一時的なロック ファイルを作成し、Crontab で毎分実行するようにスケジュールされています。しかし、時々 cron ジョブが同期しなくなり、ジョブを 2 分間一時停止または遅延させ、一度に 3 つのジョブを実行しようとします。これにより、誤ったアラームが作成され、「ロック ファイルが存在します! コンフリクトの可能性があります」というメッセージがメールボックスに殺到します。

スクリプトの興味深い部分は次のとおりです。

これがクロンジョブです:

ログ ファイルの出力の一部を次に示します: /var/log/cron 。14:35 と 14:36 が遅れていることがわかります。

この文字列に CRONJOB = (root) CMD (path/check_replication.sh > /dev/null 2>&1) という名前を付けましょう。

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

c - C で lockf を使用したファイルのロックが機能しない

プラットフォーム:ubuntu 14.4

gcc バージョン: 4.8.2

言語: C

状況:

lockf の機能をテストするための 2 つのファイルがあります。1 つは書き込み用で、もう 1 つは読み取り用です。

書き込み中は対象ファイルをロックする必要があるため、読み取りで同じファイルを開くことはできません。

問題:

書き込みプログラムを実行するときは、ユーザーの入力を待ってから読み取りプログラムを開始します。どういうわけか、読み取りはターゲットファイルの情報を取得できます。書き込み中の lockf が正しくロックしていないことを意味します。なぜ私は失敗しているのですか?

コード:

read.c

write.c

等:

マニュアルページから、

size引数は、ロックまたはロック解除する連続バイト数です。ロックまたはロック解除されるセクションは、ファイル内の現在のオフセットから始まり、正のサイズの場合は前方に、負のサイズの場合は後方に拡張されます。

サイズの引数に間違った値を渡したと思ったので、0も渡してみました。ただ、結果は同じです。

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

c - fcntl F_GETLK は常に true を返します

ロックファイルを使用して単一インスタンスのデーモンを作成しようとしていますがfcntl()、期待どおりに動作しないようです...

したがって、-1 が返された場合は呼び出しget_lock_file_statusて終了し、他のインスタンスが実行されていないことを確認しcreat_lock_file、デーモンを正常に作成した後に pid ファイルをクレートしてロックするために呼び出します...

コンパイルして実行すると、プログラムは期待どおりに動作し、ロック ファイルが作成されて pid が書き込まれますが、2 番目のインスタンスが開始されると、2 番目のインスタンスは単に同じロック ファイルを開いて独自の pid を書き込みます。

私は何を間違っていますか?2 番目のインスタンスは で -1 を返すべきではありませんget_lock_file_statusか?

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

vba - VBA によるバックエンド ファイルの削除

フロントエンドとバックエンドに分割されたマルチユーザー データベース (POS/課金システム) があります。各ユーザーはタブレットに両方のファイルのコピーを持ち、マスター コピーはオフィスに保管されます。各ユーザーは、マスター データベースにインポートされる毎日のデータ エクスポートを送信し、週に 1 回、マスター データベースのコピーをすべてのユーザーがタブレットにインポートできるようにします。新しいデータベース ファイルには、現在の日付がプレフィックスとして含まれています。(例: 2015-04-10_BE_MYDATABASE.mdb) これはすべて VBA を介して行われ、正常に動作します。ただし、私の問題は、タブレットに複数のファイルがあり、ユーザーがフロントを間違った (古い) バックエンドに接続することがあるということです。

私がやりたいことは、ユーザーがデータベースを更新するときに、接続している現在のバックエンド ファイルを削除することです。現在のデータベースのバックアップ コピーを別のフォルダーに保存し、すべてのテーブルを新しくインポートしたデータベースに接続するコードを作成しました。しかし、ロックファイルが原因で、現在のデータベースを削除/強制終了できません。

助けてください。

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

c# - .Net コード バージョンはハングするが、C++ はハングしないのはなぜですか?

.Net (C#) では同じコードがハングするのに、C++ ではハングしないのはなぜですか? 実際の問題は System.IO.FileStream にありますが、CreateFile に減らしましたが、それでも .Net でハングします (C++ コードにほぼ 100% 類似しています)。

そして、ハングしない C++ バージョンは次のとおりです。