linux 给定任务名称,杀死所有该任务的linux进程

1:

编写脚本

#!/bin/bash
##########################################
# Author: panpan.wang
# Desc:   kill pid
# Usage:  killtask <task_name>
# Date:   2019-05-05
##########################################
 
# colour macros
if [[ -t 1 ]]; then
  NORMAL="$( echo -e "\e[0m" )"
 
  HL_RED="$( echo -e "\e[31;1m" )"
  HL_GREEN="$( echo -e "\e[32;1m" )"
  HL_BLUE="$( echo -e "\e[34;1m" )"
fi
 
_hl_red()    { echo "$HL_RED""$@""$NORMAL";}
_hl_green()  { echo "$HL_GREEN""$@""$NORMAL";}
_hl_blue()   { echo "$HL_BLUE""$@""$NORMAL";}
 
# helper functions
_trace() {
  echo $(_hl_blue '  ->') "$@" >&2
}
_notice() {
  echo $(_hl_green '==>') "$@" >&2
}
_fatal() {
  echo $(_hl_red '==> ERROR:') "$@" >&2
  exit 1
}
 
# ---------------------------------------------------------
 
if [[ $# -ne 1 ]]; then
  _fatal "Usage: killtask <task_name>"
fi
 
# check if linux process about <task_name> exist
process=`ps -ef | grep $@ | grep -v grep | grep -v $0`
if [[ -z "$process" ]]; then
  _notice "Linux process about $@ are not exist."
  exit 1
fi
 
# show all linux process about <task_name>
_notice "ps -ef | grep $@ | grep -v grep | grep -v $0"
_notice "-----------------"
ps -ef | grep $@ | grep -v grep | grep -v $0 | while read process
do
   _trace "${process}"
done
 
# then kill all linux process about <task_name>
ps -ef | grep $@ | grep -v grep | grep -v $0 | awk '{print $2}' | xargs kill -9
_notice "-----------------"
_notice "Kill All Linux Process About $@ Finished..."

2:

编辑 /etc/profile 或 ~/.bashrc 文件,加入如下代码行

//注意你的脚本路径
alias killtask='/home/panpanwang/Desktop/kill.sh'

3:

使用命令 source /etc/profile 或 source ~/.bashrc,使脚本立即生效

4:执行

//killtask  xxx 即可执行,注意florence为你安装的服务名称
killtask  florence

5:执行效果

    a:服务未启动,执行脚本

d97f5c85080d9ca6dd0a2d41af812a73720.jpg

   b:服务启动,执行脚本

3aa816db9f63ce230c5aed7a3f9238ad0d6.jpg

 

 

说实话不用这么S,D的操作。

可以直接根据进程name去kill的,有命令的- -,一行代码搞定!! 

pkill -f "florence"

 

转载于:https://my.oschina.net/wxpi/blog/3045444

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值