pkillが待っています

pkillが待っています

次のことができるpkillのようなツールはありますか?

  1. 一致するすべてのプロセスにシグナルを送信する
  2. プロセスが終了するまでN秒間待ちます。
  3. すべてのプロセスが終了したら良いです。終了します。
  4. 一部のプロセスが終了していない場合は、SIGKILLを送信します。

プロセスが実際に終了するまでツールが待つことが重要です。

私が好きなスクリプト言語でこれを行うのはとても簡単ですが、この場合はすでに存在するツールを使用することをお勧めします。

これを行うには、SuSE-LinuxとUbuntuで実行する必要があります。

ベストアンサー1

必要な動作を提供する「標準」コマンドはありません。しかし、Debian とその派生物では、次のものを使用できます。start-stop-daemonタスク--stop--retryオプション:

start-stop-daemon --stop --oknodo --retry 15 -n daemontokill

SIGTERM指定されたすべてのプロセスに送信され、停止するdaemontokillまで最大15秒を待ってからSIGKILL(最初の選択から)、残りのすべてのプロセスに送信され、完了するまでさらに15秒を待ちます。終了する項目がない場合、またはすべてのプロセスが停止すると、ステータス0で終了します。 2 番目のタイムアウト後も、一部のプロセスがまだ生きている場合は、状態 2 で終了します。

さまざまな方法でプロセスを一致させるオプションがたくさんあります。詳細については、ドキュメント(上記にリンクされています)を参照してください。さまざまなタイムアウトを使用してより詳細なスケジュールを提供することもできます。

start-stop-daemonソフトウェアパッケージの一部であるため、dpkgDebianシステム(およびその派生システム)で常に使用できます。一部の非.debディストリビューションもこのパッケージを提供しています。オープンシューター跳躍42そこに。他のプラットフォームで構築するのは非常に簡単です。

git clone https://salsa.debian.org/dpkg-team/dpkg.git 
cd dpkg
autoreconf -fi && ./configure && make

あなたはautoconf、、、、。automake​ビルドが完了したら、ディレクトリにあります。libtoolgettextstart-stop-daemonutils

おすすめ記事