前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux通过进程名杀死进程_linux关闭进程命令

linux通过进程名杀死进程_linux关闭进程命令

作者头像
全栈程序员站长
发布2022-09-29 10:15:54
16K0
发布2022-09-29 10:15:54
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

笔记:根据一个进程的名字或启动此进程的命令(连续的一部分即可)杀死进程

一、使用单条命令

ps -ef | grep 进程名/启动进程的命令 | grep -v grep | awk ‘{print $2}’ | xargs kill -9

测试:

终端输入:

sleep 200 &

sleep 200 &

ps -ef | grep sleep | grep -v grep | awk ‘{print $2}’ | xargs kill -9

执行结果:

[1]-  已杀死               sleep 200

[2]+  已杀死               sleep 200

二、编写脚本

linux脚本名:kill_process.sh

#!/bin/bash

# 脚本名:kill_process.sh # 脚本功能:强制杀死进程 方式kill -9     # 1通过ps查询进程的id     # 2使用kill -9 强制终止进程 # 启动方式:/bin/bash kill_process.sh 进程名

# 如果参数个数不等于1  提示错误并退出程序 if [ $# -ne 1 ] then     echo “参数个数有误 请使用此方式运行:/bin/bash kill_process.sh 进程名”     exit 1 fi

# 获取要被杀死的进程名 pName=$1

<<!     函数功能:根据进程名杀死程序     参数:进程名     返回值:无 ! kill_processes(){     # 获取进程id     pids=$(ps -ef | grep “$1” | grep -v grep | grep -v $0 | awk ‘{print $2}’)     for pid in $pids     do         kill -9 $pId     done }

echo 将要被终止的进程有: echo —————————————————————— # 根据进程名查询包含进程名的进程 并排除grep查询进程和此脚本进程 ps -ef | grep “$pName” | grep -v grep | grep -v $0 echo —————————————————————— # 确认是否杀死程序 read -t 10 -p “10秒后将自动杀死这些进程,请确认是否杀死这些进程(y/n):” ipt

case $ipt in     “n”)         echo “==我还不想干掉它们”         exit 0;;     “y”)         echo “是的,立即干掉它们”         kill_processes $pName;;     “”)         # 没有输入确认信息  默认杀死程序         echo “”         echo “开始自动杀死这些程序”         kill_processes $pName;;     *)         echo “您的输入有误,将终止脚本”         exit 1;;

esac

测试:

# 终端后台启动两次延时命令

sleep 200 &

sleep 200 &

# 启动脚本

/bin/bash kill_process.sh sleep  或  /bin/bash kill_process.sh “sleep 200”

执行结果:

将要被终止的进程有: —————————————————————— python    13583  13550  0 19:42 pts/6    00:00:00 sleep 200 python    13584  13550  0 19:42 pts/6    00:00:00 sleep 200 —————————————————————— 10秒后将自动杀死这些进程,请确认是否杀死这些进程(y/n):y 是的,立即干掉它们 [1]-  已杀死               sleep 200 [2]+  已杀死               sleep 200

如果每次使用命令:”/bin/bash 脚本路径  程序”来启动脚本会很麻烦

我们可以将这个命令加入到我们的环境变量里面去 这样使用起来就会方便很多

比如我们将它加入到当前用户(也可以修改全局的对所有用户生效)的环境变量中:

# 修改当前环境变量的文件

vi ~/.bash_profile

# 最后一行添加 

my_kill=”/bin/bash 脚本路径”

保存后执行source ~/.bash_profile使立即生效

之后只要我们在当前用户下就可以使用命令:”$my_kill 程序”来执行了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192889.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月16日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档