うのPerlスクリプトの作業で一つのコピー

タスク

ることもあり必要な書るPerlスクリプトのみ運行 この同じスクリプトで使用すれば問題ありません。 にて、 保証すること 一時点で唯一のインスタンスこのスクリプト

例えば、この問題の場合に発生するスクリプトを実施し、クラウン 毎分で運営できるようになります。

ここでは話題になっている場合は、スクリプトの作品に一つのサーバび出すためのものではありませんの確保 実行することを特徴とする一つのインスタンスは、スクリプトで実行するのと全く同じです。

この決定

最も簡単な方法この問題を解決するためのPerl図書館 Sys::RunAlone.

図書館の付属Perl、こンストールする必要があります。

をスクリプトが作品一つのインスタンスを追加する必要があります 既存のスクリプト use Sys::RunAlone; および __END__.

ここでは一例ですのスクリプトで動作する唯一インスタンス:

#!/usr/bin/perl

use Sys::RunAlone;

print "working\n";

sleep 10;

__END__

こんなときこのスクリプトでテキストが表示され working 、10秒を お待ちして終了します。

まして他のコンソールには、スクリプトを実行して実行します。 この実行に失敗し、コードからのスクリプトを実行しません:

$ perl script.pl
A copy of 'script.pl' is already running

ユニット __END__ のスクリプトする事が義務付けられています。 図書館 Sys::RunAlone を用いてこの の単位を取Locke. このブロックすることができませんが、図書館 Sys::RunAlone接続 スクリプトを動作しませんが、画面の表示誤差 Add __END__ to end of script 'script.pl' to be able use the features of Sys::RunALone.

その他の記事