ソースを介して実行されているバックグラウンドプロセスのPIDを取得します。

ソースを介して実行されているバックグラウンドプロセスのPIDを取得します。

だから私はソースとして実行する小さなスクリプトを持っていて(興味のある人のためにスクリプトを実行している人のための正しい$ SECONDS値を得るためにこれを行います)、プログラムをバックグラウンドに置きます。このスクリプトには、一時ファイルを更新するために毎秒実行される無限ループがあります。

だから私の質問は、一時ファイル/スクリプトの更新を終了するために終了する必要があるスクリプト内のループのPIDを取得する方法です。

ベストアンサー1

  1. あなたが実際には別のスクリプトではありません。これは、ソースのすべての行が呼び出されるソース/場所/スクリプトに存在するのと同じです。

  2. ループにはPIDはありません。前景にある場合は、現在のPIDで動作します。ただし、これをバックグラウンドで送信すると、ジョブは独自のPIDを取得します。以下を使用して取得できます。

    do-something-in-a-loop & pid=$!

  3. ジョブのジョブ仕様がわかっている場合は、それを使用することもできます。職業が1つだけならできますkill %1

おすすめ記事