CentOS OS Ubuntu インフラ

Linuxで指定したプロセス名を強制終了(kill)するツール

2018年1月24日

こんにちは!シミダイ(@shimidai2100)です。

Linuxではkillコマンドでプロセス番号を指定してプロセスを強制終了させます。

ただ大量にあるプロセスを一度に消すとなると、プロセス名を指定してプロセスを削除したい時があります。

そこでプロセス名を使用することで全てのプロセスを強制終了させるツールを作成しましたの紹介します。

仕様

プロセス名を引数に指定することでプロセスを強制終了させます。

ツール実行時(プロセス強制終了時)に「killProcess.lst」が作成されます。

killProcess.lstには強制停止したプロセス一覧が記載されています。

以下、注意点です。

  • ツールを使用するためにはBashが入っている必要があります。
  • 指定したプロセスはすべて削除されます。
  • プロセス名が部分一致していてもプロセスを強制終了させます。完全合致してなくても削除可能です。

使用方法

使用方法は以下になります。

./killProcess.sh [プロセス名]

第一引数に対象のプロセス名を指定してください。指定していない場合、エラーとなります。

ソース

↓がソースになります。

#!/bin/sh

export processName=$1

if [ $# -ne 1 ] ; then
   echo "Usage : killProcess.sh [ Process Name ]"
   exit 1
fi


if [ ${processName} = "" ] ; then
   echo "Usage : killProcess.sh [ Process Name ]"
   exit 2
fi

ps -ef | grep ${processName} | grep -v grep > killProcess.lst

if [ "` wc -c < killProcess.lst`" = "0" ] ; then
   echo "Already process has been killed."
   exit 3
fi

cat killProcess.lst | awk '{ print "kill -9", $2 }' | sh

exit 0

 

関連記事

-CentOS, OS, Ubuntu, インフラ

Copyright© shimidai2100 , 2020 All Rights Reserved.