百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

强制kill还是正常kill? #红帽认证

bigegpt 2024-09-06 17:58 8 浏览

koyoarda小伙伴们,接下来看一下进程的信号控制。如何使用信号来对进程进行控制?首先要了解常见的一些信号,这里列出了一些比较常见的信号,包括1、915,这些都是一些比较常见的信号。除此以外还有像18、continue、19stop,这都是一些可以使用的一些信号。

信号就像红灯停绿灯行一样,可以给进程发送这种信号,其实就是软件中断,然后来告诉进程应该怎么做。

首先来看一下通过kill命令对进程的信号发送的有好多命令,其中比较常见的是kill和killall这两个命令。先来看kill,先来列出一下当前所有的支持的信号,这些其实刚才给大家展示的只是其中一部分,大家注意一下,有信号的完整的名称,single、hop,编号是1,信号的编号是1,所以它有两个名字,一个是信号的编号,一个是信号的名称,这两者都可以用。

首先来创建几个进程,然后用kill的方式来给它发送信号。当然在正式发送信号之前也说一下有一些可以显示的请求发送信号,像可以直接对一个前端的进程按Ctrl+Z,这个在前面讲过,Ctrl+C,Ctrl+斜线这种方式来向进程发送显示的信号。

比方说当前有一个进程,展示一下,sleep 1000,这是一个前台进程,通过Ctrl+c,可能各位看到了,这边我按了一个,这个就是Ctrl+c的按键的结果,这是一种显示的方式,将进程进行的终止,也可以通过。

因为如果它不在前台,不在前端前台,就只能够找到它的PID,然后给它发送信号。现在都是拿sleep进行演示,实际上还有很多其它的,比如一会给大家从远端登录一下,先开启几个进程作为演示。这是演示的进程。

·想要发送信号,第一步要找到它的PID,可以通过ps aux,这个比较常见,过滤一下,这个时候大概的知道进程的名称。可以看到sleep1000进程的PID的是5676,这个时候可以通过kill的方式给它发一个信号。

·kill后面其实可以跟进程的PID,也可以跟前面讲到jobid作业ID,它使用%,所以%和不使%是有差别的。这边用到的是5676,首先要跟的其实应该是信号的名称,比如想要停止可以使用1015的信号默认信号,要是不写默认也就是15,它是以干净的方式去死掉。

·9是立即终止,无法被拦截忽略,直接就是致命的。所以如果使用的是没有加任何的信号的名字,这个是加了信号的名字信号的编号,没有加就是15。一般情况建议大家也不要想终止进程,不要随便的去强制终止,这样就可以,这个是等价于它是终止了。

·再来ps看一下,这个时候2000就没有了,也可以。再来看一下kill -9,这是强制的终止,后面同样加5681回车。大家看到这个是killed,有朋友说这个有什么区别?可能在现在看不出区别。

·讲的9和15信号,这个大家一定要注意,尽量不要用9,它是相当于是强制杀死,强制杀死可能连它自己的资源也来不及释放就杀死了,就相当于通知它死。它立马就举刀自尽。如果是15,它还把它的后事安排好,还告诉父线程说我要退出了,我要死了才会死的。

同学们如果不了解9和15的区别,给大家做一个示例看一下。这边现在打开file.2这个文件,这样先不保存,大家看一下所有文件,打开file2这个文件,假装在这里面改一改。

现在要给它发一个什么信号?发一个9的信号。首先要知道vim的PID是吧?找的PID应该是这个对不对?各位看它的PID是5750,给它发一个什么信号?如果发一个-9的信号,强制杀死是吧?后面跟的是5750,回车。

大家看到它没在当前显示,因为它不在终端,这边其实已经被kill掉了,已经退出来了。这个时候大家注意到它多了一个文件,多了一个交换文件,也就是一个vim其实根本没有来得及保存就直接被杀死了,采用了一种极端的方式杀死。

如果现在打开file2,它可报错了,它说有交换文件存在,那你要怎么做?可以回撤了一下,可以只读打开,也可以编辑,也可以恢复,也可以删除交换文件。先删除,再试一下。现在正常保存以后,交换文件应该还在,把交换文件删一下,删一下再次打开应该就没有问题,尝试一下。

当然现在再要给它发信号得重新看一下它的PID,因为每次重新启动以后PID也会变化是不是?发一个15的信号,15不用写,直接像这样就可以了。这边看到它是finished正常的终止,这样终止以后就没有产生交换文件,所以相当于如果是9,它是不会释放资源的。

什么情况用9?如果一个进程通过15信号发送的时候,它已经不理你了,它没有办法回应,那就采用强制的方式,9的方式。

·至于1是重启,重新启动重新初始化,一般情况可能用不上,因为很多进程,Apache Nginx是可以通过命令的方式,servie或者说systemoro的方试去重启的。所以这里9和15,这是用的比较多的两个。至于18和19也可以用,没问题也可以用,去将一个进程暂停或者说continue,这是关于基本的使用。

·这里补充一下,再补充一下,我这边sleep开几个进程,最后补充一下,20003000。现在ps aux过滤一下sleep,各位看到有好几个sleep是不是?还有两个3000,太好了。如果是kill,它后面只能跟PID,如果跟killall,它后面是可以跟名字的。

·现在kill,注意我这边没有指定哪个,因为这几个我觉得都可以干掉,5686580几的。大家看到全部的终止了,所以k2是可以跟名字的。除了ko和ko以外,还有什么pko很多方法,这些就慢慢再去用。

总之就是大家一定要记住9和15的区别,一般情况不要随便用,用9,因为它是强制的,除非进程是将死的无法杀掉,那就使用9。这大家听明白了吗?

相关推荐

Linux gron 命令使用详解(linux gminer)

简介gron是一个独特的命令行工具,用于将JSON数据转换为离散的、易于grep处理的赋值语句格式。它的名字来源于"grepableon"或"grepable...

【Linux】——从0到1的学习,让你熟练掌握,带你玩转Linu

学习Linux并掌握Java环境配置及SpringBoot项目部署是一个系统化的过程,以下是从零开始的详细指南,帮助你逐步掌握这些技能。一、Linux基础入门1.安装Linux系统选择发行版:推荐...

Linux常用的shell命令汇总(linux中shell的作用)

本文介绍Linux系统下常用的系统级命令,包括软硬件查看、修改命令,有CPU、内存、硬盘、网络、系统管理等命令。说明命令是在Centos6.464位的虚拟机系统进行测试的。本文介绍的命令都会在此C...

零成本搭建个人加密文件保险柜(适用于 Win11 和 Linux)

不依赖收费软件操作简单,小白也能跟着做支持双系统,跨平台使用实现数据加密、防删除、防泄露内容通俗无技术门槛,秒懂秒用使用工具简介我们将使用两个核心工具:工具名用途系统支持Veracrypt创建加密虚...

如何在 Linux 中使用 Gzip 命令?(linux怎么用gzip命令)

gzip(GNUzip)是Linux系统中一个开源的压缩工具,用于压缩和解压缩文件。它基于DEFLATE算法,广泛应用于文件压缩、备份和数据传输。gzip生成的文件通常带有.gz后缀,压缩效率...

Linux 必备的20个核心知识点(linux内核知识点)

学习和使用Linux所必备的20个核心知识点。这些知识点涵盖了从基础操作到系统管理和网络概念,是构建扎实Linux技能的基础。Linux必备的20个知识点1.Linux文件系统层级标...

谷歌 ChromeOS 已支持 7z、iso、tar 文件格式

IT之家6月21日消息,谷歌ChromeOS在管理文件方面进行了改进,新增了对7z、iso和tar等格式的支持。从5月的ChromeOS101更新开始,ChromeOS...

如何在 Linux 中提取 Tar Bz2 文件?

在深入解压方法之前,我们先来了解.tar.bz2文件的本质。.tar.bz2是一种组合文件格式,包含两个步骤:Tar(TapeArchive):tar是一种归档工具,用于将多个文件或目录打包...

如何在 CentOS 7/8 上安装 Kitematic Docker 管理器

Kitematic是一款流行的Docker图形界面管理平台,适用于Ubuntu、macOS和Windows操作系统。然而,其他发行版(如CentOS、OpenSUSE、Fedora、R...

Nacos3.0重磅来袭!全面拥抱AI,单机及集群模式安装详细教程!

之前和大家分享过JDK17的多版本管理及详细安装过程,然后在项目升级完jdk17后又发现之前的注册和配置中心nacos又用不了,原因是之前的nacos1.3版本的,版本太老了,已经无法适配当前新的JD...

爬虫搞崩网站后,程序员自制“Zip炸弹”反击,6刀服务器成功扛住4.6万请求

在这个爬虫横行的时代,越来越多开发者深受其害:有人怒斥OpenAI的爬虫疯狂“偷”数据,7人团队十年心血的网站一夜崩溃;也有人被爬虫逼到极限,最后只好封掉整个巴西的访问才勉强止血。但本文作者却走...

Ubuntu 操作系统常用命令详解(ubuntu必学的60个命令)

UbuntuLinux是一款流行的开源操作系统,广泛应用于服务器、开发、学习等场景。命令行是Ubuntu的灵魂,也是高效、稳定管理系统的利器。本文按照各大常用领域,详细总结Ubuntu必学...

Linux面板8.0.54 测试版-已上线(linux主机面板)

Linux面板8.0.54测试版【增加】[网站]Java项目新增刷新列表按钮【增加】[网站]PHP项目-Apache-服务新增守护进程功能【增加】[网站]Python项目创建/删除网站时新增同时创建...

开源三剑客——构建私有云世界的基石

公共云原生的浪潮正在席卷这个世界,亚马逊AWS、谷歌GCP和微软的Azure年收入增长超过了30%,越来越多的公司和个人开始将自己的服务部署到云环境中,大型数据中心的规模经济带来了成本的降低,可以在保...

2.2k star,一款业界领先的私有云+在线文档管理系统

简介kodbox可道云(原KodExplorer)是业内领先的企业私有云和在线文档管理系统,为个人网站、企业私有云部署、网络存储、在线文档管理、在线办公等提供安全可控,简便易用、可高度定制的私有云产品...