CentOS Ubuntu

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

2018年1月24日

こんにちは!土門大貴(daikidomon)です。

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, Ubuntu

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.