に群れコマンドを使用して最近、私は多くの場合、コンピュータが待機する必要性の多くを行う
、および作業を同時に行うことができる台湾の数にsshをする必要があります。例えば:彼らは上記の作業を確認した後に必要なアクションをするためには、完成された後1.、しかし、リモートコンピュータ(SSH認証でほとんどの時間)
に小さなファイルの更新パッケージ2.同時送信しながら、リモートコンピュータをしてみましょう続けます。
は、
私が過去にやっている:#前作のupdate_pkg_on_machine_1update_pkg_on_machine_2update_pkg_on_machine_3番号を...
の背後にある仕事を
これは作業が同時に完了することを保証しますが、それは非常に遅い&hellipですが、
< pは>別の可能な方法があります。#フロント作業update_pkg_on_machine_1&#038;&#038 update_pkg_on_machine_2; update_pkg_on_machine_3&#038;
の背後にあるスリープ10#...作業
この方法は、同時に動作しますが、することができますが、10秒の場合作業はまだ完了しておらず、次の作業は間違っている可能性があります。
仕事ができる秒数を習得するのは困難です。
作業状態を管理するためのflockの使用
私はオペレーティングシステムで作業していたときにミューテックスを学んでいましたが、flockはシェルで使用できるミューテックスです。私たちはのUbuntuの明快な説明に群れを見て
公式
群れの説明:NAMEflock - シェルスクリプト
SYNOPSISflock [-sxon] [-wタイムアウトからロックを管理します]ロックファイル[-c]コマンド...
群れ[-sxon] [-wタイムアウト] LOCKDIR [-c]コマンド...
群れ[-sxun] [-wタイムアウト] fdDESCRIPTIONThisユーティリティ(1)(1)SUと同様に、実行aCommandは周りにロックをラップ
第一及び第二の形態
。シェルスクリプトまたはthecommandライン内から(2)ロックフロックを管理またはnewgrpコマンドそれはまだ
存在しない場合。それは(appropriatepermissionsを想定して)作成され、aspecifiedファイルまたはディレクトリをロックし、
三番目の形式は、シェルスクリプト内の便利で、通常usedthe次のよう:.
(群れ-s 200#...コマンドロックの下に実行...)200>ファイルを開くために使用されるの/var /ロック/mylockfile
モードはdoesnの’ tは群れする問題では、使用して>または>>を使用すると、ロックファイルが存在しない場合でもロックファイルを作成できますが、書き込み権限が必要です。使用< filealreadyが存在することを要求するだけで読み取り許可がデフォルトで
必要とされ、ロックがすぐに取得できない場合、ロックwaitsuntil群れ、
OPTIONS-S使用可能です - ..共有ロック-sharedObtain、時々読み込みロックと呼ばれる。
-x、-e、--exclusiveObtain排他ロックは、時々、書き込みロックと呼ばれる。Thisisデフォルト。
-u、ファイルを閉じたときにロックがisautomatically下落した。しかし、それは多分、特別な場合には必要なので、enclosedcommandグループがロックを保持するべきではないバックグラウンド・プロセスをフォークしている可能性があります。これは通常、例えば、必要とされていない--unlockDropロック..
-n、--nb、--nonblockFail(1の終了コードを有する)よりもむしろlockcannotは直ちに、
-w、--wait
取得する場合待ちます - (1の終了コードで)タイムアウトsecondsFailロックacquiredwithin秒秒できない場合進分数の値が許可される。
-o、ロックが前に保持されているファイル記述子を--closeClose 。コマンドは-c
とシェルにロック
をINGの
-c、--command commandPass単一のコマンドを保持すべきでない子プロセスを生成します場合は、コマンドを実行すると、これは有用である
.. - 時間は、ヘルプメッセージ
H.ピーターAnvin<. [email protected]>によってAUTHORWritten --helpPrint;。
COPYRIGHTCopyright&コピー; 2003年から2006年H.ピーターAnvin.Thisは無料ですソフトウェアは;.保証はありISNO;.もないPARTICULARPURPOSEの
に対する商品やフィットネスのコピー条件のソースを参照してください。
SEE ALSOflock(2)
AVAILABILITYThe群れコマンドはutilの-linuxのの一部であり、 -ngパッケージとから入手可能ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/。
ハイライト
ある
群れを通じ、プログラムが最初になりますロックの所有権(通常はファイルを表す)を取得しようとした後にのみ実行され、実行はロックの所有権を保持し、終了後に所有権を解放します。
プログラマ効率開発ツール:プログラミングカッププログラマー効率開発ツール:プログラミングカップ
たとえば、$ HOME:#!/bin /bashsleepの下にシェルスクリプトを書くとします。 10date
リザーバとtest.shに開口我々は、2つのシェルを開いて、略同時に行わこの場合パーミッション(chmodの700 test.sh)
を実行します。フロック/tmp/demo.lock 〜/test.sh
このときどうなりますか?
ユーザーは両方のシェルが停止していることを確認します。1つは10秒後に印刷され、もう1つは10秒後に印刷されます。
A
wushする@ルータ:〜$フロック/tmp/demo.lock ./test.shSat 1月4日午後12時55分24秒CST 2014B
wushルータ@:〜$群れ/tmp/demo.lock ./test .shSat Jan 4 00:55:34 CST 2014
Aプログラムは最初に/tmp/demo.lockの所有権を取得してからtest.shを実行します。 BプログラムはAプログラムが終了するまで待機し(Aは/tmp/demo.lockの所有権を返します)、次に/tmp/demo.lockの所有権を取得します。だからBプログラムは当然Aプログラムよりも10秒遅いです。
Flockのパラメータ
デフォルトの動作に加えて、パラメータを介してFlockの動作を調整できます。デフォルトの振る舞いとの主な違いは、lock_pathの所有権が利用できない場合、次のアクションが異なるということです。 1.flock -n lock_path xxx:所有権が利用できない場合、プログラムは直接中止され、xxxは実行されません。 2.flock -s lock_path xxx:lock_pathを共有ロックとして扱い、複数のプログラムが所有することができます。したがって、誰でもすぐにそれを実行でき、同時にlock_path3.flock -x lock_path xxxを持つことができます:lock_pathを排他ロックとして扱い、1つのプログラムによってのみ所有することができます。
注意:lock_pathを同時に共有したり排他的にしたりすることはできません。
解決の問題
だから、組み合わせの群れの導入により、私は同時に複数のジョブを実行することができ、その後、彼らは次のタスクに進む前に、最後まで待つ:#前作の群れ - S lock_path update_pkg_on_machine_1&#038;群れ-s lock_path update_pkg_on_machine_2&#038;群れ-s lock_path update_pkg_on_machine_3&#038; -x lock_pathエコー"を群れ、すべて完了"!#...仕事
背後
キーが群れ-x lock_pathです共有と排他の間に相互に排他的な関係があるため、Xxxは共存しません。したがって、上記の作業が終了する(lock_pathの所有権を返す)まで待機します。
今日、突然気まぐれに、Mac OSを体験したい、私は仮想マシンにインストールされたMac コンピュータが非常にカードになると聞いたので、私は試していない。しかし、今私はデスクトップコンピュータを変更し
Linuxカーネルは非常に安定しているが、それでも必然的に、クラッシュする前にシステムを何が起こったのか分析し原因を分析し、エラーを修正するのに役立つので、システムをさらに強化、カーネルパニックミ
Technologeeko Windows 7エクスプローラの左上隅にあるアイコン、[お気に入り]、[デスクトップ]、およびさまざまな[ライブラリ]のアイコンにより、多くの人が非常に不快になります。
プロセスは、プログラムの実行中のインスタンスを表します。これは、割り当てられたリソースの最小単位です。 プロセスは非常に重要なことです。N個のプロセスを同時に実行しているシステムを実行します。これらの
LinuxはLinuxよりWindowsのセキュリティが高いとLinuxは信じていると多くのメディアや専門家が考えています。しかし、セキュリティがより重要になる今日、このセキュリティはユーザーの正しい
インストール前の準備:
DNSサーバーを設定するには、DNSサービスを提供するソフトウェアプログラム、つまりバインドソフトウェアをインストールする必要があります。バインドソフトウェアは、次のコマンドを使用してインストールできます。 >
yum install -y bind-chroot bind-utis
1.メインの設定ファイル/etc/named
grep named named正常に起動するかどうか/var /log /messagesの情報を確認してください。 上記の手順に従って、簡単な転送DNSサーバーを正常に設定できます。DNS
コンピュータのコピーファイルのプロンプトエラー0X80070057パラメータが正しくない場合の解決方法
Win7 Ultimateは複数地域の時刻表の方法を設定しています
Win10 TH2オフィシャルバージョン10586.63アップデート修理内容Daquan:修理カーネルの脆弱性
将来、普通の人々がアクセスできるハイテクコンピュータのようなものは何ですか?
Win8のスタート画面にはIEブラウザソリューションがありません
Win10システムのセキュリティモードは通常モードとは異なります
システムリソースが不足しているため、サービスリクエストを解決するにはシステムリソースが不足しているとWin7が指示します