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

r囧r小猫 2022-01-17 05:59 250阅读 0赞

为什么80%的码农都做不了架构师?>>> hot3.png

1:

编写脚本

  1. #!/bin/bash
  2. ##########################################
  3. # Author: panpan.wang
  4. # Desc: kill pid
  5. # Usage: killtask <task_name>
  6. # Date: 2019-05-05
  7. ##########################################
  8. # colour macros
  9. if [[ -t 1 ]]; then
  10. NORMAL="$( echo -e "\e[0m" )"
  11. HL_RED="$( echo -e "\e[31;1m" )"
  12. HL_GREEN="$( echo -e "\e[32;1m" )"
  13. HL_BLUE="$( echo -e "\e[34;1m" )"
  14. fi
  15. _hl_red() { echo "$HL_RED""$@""$NORMAL";}
  16. _hl_green() { echo "$HL_GREEN""$@""$NORMAL";}
  17. _hl_blue() { echo "$HL_BLUE""$@""$NORMAL";}
  18. # helper functions
  19. _trace() {
  20. echo $(_hl_blue ' ->') "$@" >&2
  21. }
  22. _notice() {
  23. echo $(_hl_green '==>') "$@" >&2
  24. }
  25. _fatal() {
  26. echo $(_hl_red '==> ERROR:') "$@" >&2
  27. exit 1
  28. }
  29. # ---------------------------------------------------------
  30. if [[ $# -ne 1 ]]; then
  31. _fatal "Usage: killtask <task_name>"
  32. fi
  33. # check if linux process about <task_name> exist
  34. process=`ps -ef | grep $@ | grep -v grep | grep -v $0`
  35. if [[ -z "$process" ]]; then
  36. _notice "Linux process about $@ are not exist."
  37. exit 1
  38. fi
  39. # show all linux process about <task_name>
  40. _notice "ps -ef | grep $@ | grep -v grep | grep -v $0"
  41. _notice "-----------------"
  42. ps -ef | grep $@ | grep -v grep | grep -v $0 | while read process
  43. do
  44. _trace "${process}"
  45. done
  46. # then kill all linux process about <task_name>
  47. ps -ef | grep $@ | grep -v grep | grep -v $0 | awk '{print $2}' | xargs kill -9
  48. _notice "-----------------"
  49. _notice "Kill All Linux Process About $@ Finished..."

2:

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

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

3:

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

4:执行

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

5:执行效果

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

d97f5c85080d9ca6dd0a2d41af812a73720.jpg

b:服务启动,执行脚本

3aa816db9f63ce230c5aed7a3f9238ad0d6.jpg

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

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

  1. pkill -f "florence"

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

发表评论

表情:
评论列表 (有 0 条评论,250人围观)

还没有评论,来说两句吧...

相关阅读