【Shell-Kill】Kill掉Linux进程以及Kill掉Yarn任务

短命女 2023-10-13 11:02 119阅读 0赞

【Shell-Kill】Kill掉Linux进程以及Kill掉Yarn任务

  • 1)使用 awk 方式 kill Linux 进程
  • 2)使用 Shell 脚本批量处理 Yarn 任务
    • 2.1.使用 Shell 脚本批量查看 Yarn 任务数量
    • 2.2.使用 Shell 脚本批量删除 Yarn 任务

1)使用 awk 方式 kill Linux 进程

参数说明:

  • grep 进程名称:根据进程名称找到需要处理的进程。
  • grep 进程信息中的关键字:关键字进行过滤,防止杀错任务。
  • grep -v grep:grep 抓取会出现两个进程信息,一个是需要处理的进程,一个是 grep,过滤掉不需要处理的 grep 进程信息。
  • awk '{print $2}':抓取进程 id。

    ps -ef | grep 进程名称 | grep 进程信息中的关键字 | grep -v grep | awk ‘{print $2}’ | xargs kill -9

2)使用 Shell 脚本批量处理 Yarn 任务

2.1.使用 Shell 脚本批量查看 Yarn 任务数量

  1. vim count.sh
  2. #/bin/bash
  3. time=$(date "+%Y-%m-%d")
  4. if [ $2 = $time ] ; then
  5. yarn application -list | grep "$1" | wc -l | xargs echo "$1有多少个任务正在运行"
  6. echo true
  7. else
  8. echo $2
  9. echo $time
  10. echo false
  11. fi

使用方式:

  1. # kill.sh:脚本名称
  2. # test:yarn任务名称关键字
  3. # 2023-06-26:指定本日期才可以进行查询,防止误查
  4. sh count.sh test 2023-06-26

2.2.使用 Shell 脚本批量删除 Yarn 任务

  1. vim kill.sh
  2. #/bin/bash
  3. time=$(date "+%Y-%m-%d")
  4. if [ $2 = $time ] ; then
  5. yarn application -kill `yarn application -list | grep "$1" | grep -v grep |awk '{print $1}'`
  6. echo $2
  7. echo $time
  8. echo true
  9. else
  10. echo $2
  11. echo $time
  12. echo false
  13. fi

使用方式:

  1. # kill.sh:脚本名称
  2. # test:yarn任务名称关键字
  3. # 2023-06-26:指定本日期才可以进行删除,防止误删
  4. sh kill.sh test 2023-06-26

发表评论

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

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

相关阅读

    相关 进程kill怎么办

    问题背景:公司内部的一套发布系统,每次部署,启动git仓库所指代码,并且启动时不是直接通过java -jar 启动的,是属于发布系统内的子进程,当子进程在调用exit命令结束自