コマンドライン

Linuxでユーザを削除出来なかった時の対処

userdelコマンドとrオプションでユーザ名と関連ディレクトリを削除しようとし、削除できなかったケースの対処方です。
下記はuserdelコマンドを実行し、エラーが返ってきています。

# userdel -r [ユーザ名]
userdel: user [ユーザ名] is currently logged in

まず、whoコマンドで本当にログインされているか確認します。

# who

削除対象のユーザ名が表示されなかった場合は、システムに捕まっている可能性があります。
psコマンドで現在使われているプロセスを表示し、grepで任意のユーザ名にマッチする行を検索します。

# ps aux | grep [ユーザ名]

マッチしたプロセスがあれば、そのPIDを使ってプロセスを強制終了させます。

# kill [PID]

上記でも終了しなかった場合、KILLオプションを使ってさらに強く強制終了させます。

# kill -KILL pid 

これでほとんどのプロセスが終了します。
プロセスが終了したら、userdelでユーザを削除しましょう。

# userdel -r [ユーザ名]

関連記事