何らかの理由で、私のcronジョブスクリプトが正常に終了せず、サーバーをバックアップしています。現在、私のユーザーの1人で実行されているプロセスが数百あります。次のコマンドを使用して、そのユーザーによるすべてのプロセスを強制終了できますが、cronのみを強制終了するようにこれを簡略化するにはどうすればよいですか?
pgrep -U username | while read id ; do kill -6 $id ; done
上記のコマンドをそのまま実行すると危険ですよね? mysqlやその他の重要なものを殺してしまうのではないですか?
ユーザーのすべてのプロセスを強制終了するには、いくつかのオプションがあります。好き: su - username
、次にkill -9 -1
どの「cron」プロセスがユーザーに属しているかを確認するには:
pgrep -u username cron
これらのプロセスを強制終了するには:
pkill -u username cron
使用する:
kill -6 $(pgrep -U username cron)
特定のcronジョブを終了し、他のcronジョブを終了する必要がある場合は、-f
引数を使用してpgrepの完全な文字列で検索できます。
kill
シグナルは本当に危険なので、何を殺すかを確認する必要があります。ユーザー名が「root」の場合、重要なものを削除できます(はい)。