いくつかのプロセスを強制終了できるようにしたい。プロセスID(ファイルで指定されている)を知っているので、1つずつ実行したくありません。kill
コマンドを再帰的に呼び出して、rm
コマンドで行うようにファイルまたは標準入力を介して入力を与えるような方法はありますか...
pids.txt
1行に1つのプロセスIDを持つファイルが与えられた場合、次のことができます。
xargs kill <pids.txt
これkill
により、ファイルのプロセスIDを使用してユーティリティが呼び出されます。
その他のソリューションには次のものがあります
kill $(cat pids.txt)
どのIMHOはそれほどエレガントではなく、
while read pid; do
kill "$pid"
done <pids.txt
簡単なことをするために書くことはたくさんあります。
上記のバリエーションのいずれも、テキストファイル内のプロセスIDが、ファイルの作成時にプロセスIDが添付されていたのと同じプロセスに対応していることを確認できないことに注意してください。
Linuxシステムでは、プロセスIDは通常、新しいプロセスごとに1ずつ増加し、許可されている最大のプロセスIDが使用されると、いくつかの小さい番号からさらにIDが割り当てられます。これは、時間の経過とともにプロセスIDが再利用されることを意味します。
OpenBSDなどの一部のシステムでは、プロセスIDがランダムに割り当てられます。ここでも、しばらくすると古いプロセスIDが再利用されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加