ゾンビ化した sshd プロセスを止める


0. Contents

1. Concept
2. Script Source
3. How to Use


1. Concept

不安定なネットワークで作業をしていたらゾンビ化した sshd プロセスが
大量発生してしまい、それをまとめて止める際に書いたワンライナーが元。

pstree の表示結果に依存しているとか pgrep を使った方がいいとか
screen を使えとか突っ込み所は色々あるが、一応。


2. Script Source

ソースは以下の通り (ダウンロード)。

#! /usr/bin/env bash

function kzp(){
## ゾンビプロセスを検索
  echo -n "$FUNCNAME: Searching for the zombee sshd process..."
  local Str=$( pstree -p "$USER" |grep '^sshd' |grep -v "$PPID" ) || {
    echo '  Not found.' 1>&2
    return 1
  }

## 確認後, プロセスを削除
  echo -e "\n\n${Str}\n"
  read -p "$FUNCNAME: Kill Now ? [y/N] : "
  [[ "$REPLY" == [yY] ]] && echo || {
    echo "$FUNCNAME: quit." 1>&2
    return 1
  }

  kill -9 $( echo "$Str" |cut -d '(' -f 2 |cut -d ')' -f 1 ) && echo "$FUNCNAME: done."
}
kzp


3. How to Use

上記のソースをそのまま実行すれば OK。