このチュートリアルでは、LinuxでのBash待機コマンドについて説明します。
構文:
LinuxでのWaitコマンドの一般的な構文は次のとおりです。
待つ[オプション] ID
IDは、プロセスIDまたはジョブIDになります。
LinuxでのBash待機コマンドの説明:
まず、touchコマンドを使用してファイルを作成します。
$接するBashWait.sh
以下のコマンドを使用して、このファイルを実行可能にします。
$chmod+ xファイル名
実行可能特権がファイルに付与されたら、ファイルを開き、bashファイルにスクリプトを記述します。
#!/ bin / bash寝る 3 &
processID=$!
捨てた 'PID:$ processID'
待つ $ processID
捨てた 「終了ステータス:$?」
$!最新のプロセスのPIDを格納するBASHの変数です。
次に、次のようにスクリプトを実行します。
$。/ファイル名$。/BashWait.sh
プロセスIDと存在ステータスがシェルに表示されます。
–nオプションの使用:
–nオプションを使用すると、waitコマンドは、指定されたプロセスIDまたはジョブ仕様からの単一のジョブが終了するのを待ってから、終了ステータスを返します。 Wait -nは、バックグラウンドジョブが終了するのを待ち、引数が指定されていない場合はジョブの終了ステータスを返します。
スクリプトに以下の行を記述します。
#!/ bin / bash寝る 30 &
寝る 8 &
寝る 7 &
待つ -NS
捨てた 「最初の仕事は完了しました。」
待つ
捨てた 「すべてのジョブが完了しました。」
次に、スクリプトを再度実行すると、最初のジョブが完了すると、端末にメッセージが出力され、他のすべてのジョブが完了するのを待ちます。
–fオプションの使用:
-fオプションは、終了コードを返す前に、各プロセスIDまたはジョブが停止するのを待ちます。デフォルトでは、ジョブ制御はレスポンシブプロンプトでのみ使用できます。
ターミナルを開き、コマンドを実行します。
プロセス3944を待ちます。
別のターミナルウィンドウを開き、killコマンドを実行してプロセスを終了します。
ステータスが変更されます。 Waitコマンドが完了し、プロセスの終了コードが返されます。
–fコマンドを使用して、上記の手順を繰り返します。
待機コマンドを使用したスクリプト:
デモンストレーションには「hello.sh」および「bash.sh」スクリプトを使用しています。 「hello.sh」スクリプトは1から5までの数字を出力し、「bash.sh」スクリプトはhello.shを呼び出してバックグラウンドで実行し、hello.shのPIDを取得して終了を待ちます。
helloとbashという名前の2つのスクリプトを作成します。
hello.shファイルに以下の行を追加します。
#!/ bin / bashにとって私の 1 2 3 4 5 6 7 8 9 10
NS
捨てたhello.sh –ループ番号$ i。
終わり
以下の行をbashスクリプトに追加します。
#!/ bin / bash捨てたbash.shを開始しました
捨てたhello.shを開始しました
。/hello.sh&
process_id=$!
待つ $ process_id
捨てたhello.shを完了しました
出力:
結論:
ユーザーがプロセスを停止したい場合、システムはプロセスによって保持されているすべてのリソースを解放し、別のリソースが開始するのを待ちます。他のプロセスが完了したら、実行を再開できることをプロセスに通知する必要があります。 bashのwaitコマンドは、実行が完了するまで待機し、プロセスの実行が完了すると終了ステータスを返します。このマニュアルでは、LinuxでのBashwaitコマンドの例をいくつか見てきました。