Apr 7, 2011

Linux ユーザの全てのプロセスをkillするスクリプト

社内のLinuxサーバに無限にプロセスを生成するスクリプトが実行されたので
該当ユーザの全てのプロセスをkillするスクリプトを作ってみた。

#!bin/bash
uid=$1
pids=`ps ax -o uid,pid | grep $uid 2> /dev/null | awk '{print $2}'`
for pid in $pids
do
  if [ $pid != $$ ]; then
    echo "${user}: ${pid} killed"
    kill -KILL $pid
  fi
done


ちなみにそのユーザはbashのプロセスをずっと生成したので
以下のコマンドでも対応できる。
killall bash

rootユーザなら以下のコマンドで他のユーザの全てのプロセスをkillすることもできる。

killall5

No comments: