1. 程式人生 > >Linux 結束程序指令碼

Linux 結束程序指令碼

結束程序命令指令碼

以前終止一個程式一般要 ps -ef|grep xxx,然後 kill -9 pid ,殺死該程序.

最近寫了一個指令碼 ,輸入k命令 然後出來選項 ,輸入序號,然後指令碼執行kill操作.在一定程度上簡化了操作.

指令碼如下


#!/bin/bash 

###--------------------
kw=tomcat
###--------------------
if [ ! -n "$1" ] ;then
  echo "you don't input  the programe as param which will kill,use  tomcat as default......"
else kw=$1 echo -n "the keyword of your programe you will kill is " echo -e "\033[41;36m $1 \033[0m" fi ps -ef|grep $kw|grep -v grep |awk '{print $2 "\t" $7 "\t" $8 "\t"$9 }' > /tmp/tmpf i=1 while read line do echo -ne "\033[41;36m [$i] \033[0m": echo $line arr[$i]="$line" let i++ done</tmp/tmpf rm -f
/tmp/tmpf echo -n "Enter the programe number you need kill:" read index expr $index + 10 1>/dev/null 2>&1 #while [ $? -ne 0 ] || [ $index -ge $i ] || [ $index -lt 0 ] while [ $? -ne 0 ] || [ ! -n "$index" ] || [ $index -ge $i ] || [ $index -lt 0 ] do echo "your input:[$index] need to be a number and bigger than 0 (>0) and under $i
(<$i)"
echo -n "Enter the programe number you need kill:" read index expr $index + 10 1>/dev/null 2>&1 done echo "you will kill [$index] process..." #echo ${arr[$index]} pid=`echo ${arr[$index]}|awk '{print $1}'` echo $pid kill -9 $pid echo ">>>>>>>> process [$index] = $pid has been killed <<<<<<<< "

用法: 將該指令碼命名為k, 然後把檔案k拷貝到 /usr/local/bin 目錄. 就ok了.
使用的時候 輸入 k 回車,會提示tomcat所有的程序 ,如果輸入 k mysql 則查詢mysql程序,
使用者選擇序號之後,程式執行kill操作 .程序就被終止了