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

linux通过进程名杀死进程_linux关闭进程命令笔记:根据一个进程的名字或启动此进程的命令(连续的一部分即可)杀死进程一、使用单条命令ps-ef|grep进程名/启动进程的命令|grep-vgrep|awk'{print$2}’|xargskill-9测试:终端输入:sleep200&sleep200&ps-ef|grepsleep|grep-v…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

一、使用单条命令

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 程序”来执行了

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • QTabWidget的样式「建议收藏」

    QTabWidget的样式「建议收藏」Tab标签所在行的样式QTabWidget::tab-bar{alignment:left;top:3px;left:5px;right:5px;}设置QTabWidget的Tab标签下面窗格的样式QTabWidget#tabwidget_DevMang::pane{border-top:3pxsolidblack;border-…

  • java培训学校杭州_杭州Java培训班

    java培训学校杭州_杭州Java培训班前言这段时间也一直在学习Netty相关知识,因为涉及知识点比较多,也走了不少弯路。目前网上关于Netty学习资料玲琅满目,不知如何下手,其实大家都是一样的,学习方法和技巧都是总结出来的,我们在没有找到很好的方法之前不如按部就班先从基础开始,一般从总分总的渐进方式,既观森林,又见草木。Netty是一款提供异步的、事件驱动的网络应用程序框架和工具,是基于NIO客户端、服务器端的编程框架。所以这里我们先以NIO和依赖相关的基础铺垫来进行剖析讲解,从而作为Netty学习之旅的一个开端。为什么学Java?Jav

  • pytorch(8)– resnet101 迁移学习记录

    pytorch(8)– resnet101 迁移学习记录一、前言本篇记录使用pytorch官方resnet101实现迁移学习,迁移学习是当前深度学习领域的一系列通用的解决方案,而不是一个具体的算法模型。Pre-training+fine-tuning(预训练+调参)的迁移学习方式是现在深度学习中一个非常流行的迁移学习方式,有以下3步(1)把预训练模型当做特征提取器:TensorFlow或者Pytorch都有ImageNet上预训练好的模型,将最后一层全连接层(原始的是1000个类别或者更多)改成你自己的分类任务的种类进行输出,或…

  • Android应用开发揭秘11

    Android应用开发揭秘11Android应用开发揭秘11

  • mac系统更新失败是怎么回事_苹果X注册Id出现验证失败

    mac系统更新失败是怎么回事_苹果X注册Id出现验证失败MacPorts在OSXMavericks上更新失败作者:CSDN阿锐运行更新命令:sudoport-vselfupdate时提示失败:localhost:previewmichael$sudoportselfupdate—>UpdatingMacPortsbasesourcesusingrsyncMacPortsbase

  • IOS开发之——Position和AnchorPoint(92)「建议收藏」

    IOS开发之——Position和AnchorPoint(92)「建议收藏」一概述CAlayer中position和anchorPoint属性说明position和anchorPoint示意图二position和anchorPoint属性说明CALayer中有2个非常重要的属性:position和anchorPoint@propertyCGPointposition用来设置CALayer在父层中的位置以父层的左上角为原点(0,0)@propertyCGPointanchorPoint称为“定位点”,“锚点”决定着CALayer身上的哪个点

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号