Linux系统之kill命令的基本使用

Linux系统之kill命令的基本使用

  • 一、kill命令介绍
    • 1. kill命令简介
    • 2. kill命令的使用场景
    • 3. kill命令使用注意事项
  • 二、kill命令的使用帮助
    • 1. 查看kill命令帮助信息
    • 2. kill命令帮助解释
  • 三、kill常用的信号
    • 1. 列出所有的信号
    • 2.kill常用的信号
  • 四、kill命令的基本使用
    • 1. 运行一个后台任务
    • 2. 发送停止信号
    • 3. 发送继续信号
    • 4. 发送强制终止信号
    • 5. 正常终止进程

一、kill命令介绍

1. kill命令简介

在 Linux 中,kill 命令用于发送信号给进程。默认情况下,kill 命令将发送 TERM 信号,即请求进程正常终止。

2. kill命令的使用场景

kill命令用于终止一个正在运行的进程。下面是使用场景:

  • 进程无响应:当一个进程无响应时,可以使用kill命令将其强制终止。

  • 进程占用资源过多:如果一个进程占用了大量资源,导致系统变慢或者出现其他问题,可以使用kill命令终止它。

  • 进程出现错误:如果一个进程出现了错误,无法正常运行,需要使用kill命令终止它。

  • 进程冲突:如果多个进程之间发生冲突,可以使用kill命令终止其中一个进程,以解决冲突问题。

  • 系统关闭:当需要关闭或重启系统时,可以使用kill命令终止所有运行中的进程,以确保系统安全关闭。

3. kill命令使用注意事项

  • 慎用:kill命令会直接终止进程,因此一定要慎重使用,以免意外终止关键进程导致系统崩溃。

  • 选择正确的进程:使用kill命令时一定要选择正确的进程,否则可能会误杀其他进程或者系统进程。

  • 使用信号:kill命令可以使用不同的信号来终止进程,如果信号不正确可能会导致进程无法正常终止。

  • 尝试优雅关闭:在使用kill命令前,可以尝试发送SIGTERM信号来优雅地关闭进程,如果进程无法正常关闭再使用kill命令强制终止。

  • 确认进程状态:在使用kill命令前,可以使用ps命令确认目标进程的状态,避免误杀。

  • 检查权限:kill命令需要root权限才能杀死其他用户的进程,因此需要确保自己有足够的权限。

二、kill命令的使用帮助

1. 查看kill命令帮助信息

在Linux的命令终端,使用man kill查询kill命令的帮助信息。

man kill

在这里插入图片描述

2. kill命令帮助解释

kill命令的帮助解释

kill [-s sigspec | -n signum | -sigspec] pid | jobspec ...
kill -l [sigspec]

选项——

-s signal:指定要发送的信号,默认为 TERM 信号
-l:列出所有可用的信号
-p pid:指定要发送信号的进程 ID
-u user:指定要发送信号的用户名称
-n sig    信号名称对应的数字。
-L        等价于-l选项。


参数
pid:进程ID
jobspec:作业标识符

三、kill常用的信号

1. 列出所有的信号

列出所有的信号的名称

[root@docker ~]# kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX	

2.kill常用的信号

下面是常用的信号,只有第9种信号(SIGKILL)才可以无条件终止进程。

HUP     1    终端挂断
INT     2    中断(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)
KILL    9    强制终止
TERM   15    终止
CONT   18    继续(与STOP相反,fg/bg命令)
STOP   19    暂停(同 Ctrl + Z)

四、kill命令的基本使用

1. 运行一个后台任务

  • 运行一个后台任务进程
[root@docker ~]# sleep 10000  &
[1] 13842

  • 查看后台运行任务
[root@docker ~]# jobs -l
[1]+ 13842 Running                 sleep 10000 &

2. 发送停止信号

  • 发送 STOP信号,停止进程。
[root@docker ~]#  kill -s STOP 13842

[1]+  Stopped                 sleep 10000
  • 发送19信号,停止进程。
[root@docker ~]# kill -s 19 13842 

[1]+  Stopped                 sleep 10000

3. 发送继续信号

发送CONT 信号,使用kill -s CONT (pid)命令。

[root@docker ~]# kill -s CONT 13842 
[root@docker ~]# jobs -l
[1]+ 13842 Running                 sleep 10000 &

发送18信号,继续进程。

[root@docker ~]# kill -s 18 13842 
[root@docker ~]# jobs -l
[1]+ 13842 Running                 sleep 10000 &

4. 发送强制终止信号

  • 使用KILL信号,强制终止进程
[root@docker ~]# kill -s KILL 13842
[root@docker ~]# jobs
[1]+  Killed                  sleep 10000

  • 发送9信号,强制终止进程
kill -9 14991#(PID)

在这里插入图片描述

5. 正常终止进程

发送3信号,正常终止进程。

[root@docker ~]# sleep 10000  &
[1] 15418
[root@docker ~]# kill -3 15418
[root@docker ~]# jobs -l
[1]+ 15418 Quit                    sleep 10000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/956706.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【银河麒麟高级服务器操作系统】业务访问慢网卡丢包现象分析及处理过程

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:product.kylinos.cn 开发者专区:developer.kylinos.cn 文档中心:document.kylinos.cn 交流论坛:forum.kylinos.cn 服务器环境以及配置 【内核版本…

leetcode49-字母异位词分组

leetcode 49 思路 通过一个哈希表进行记录每个分组,遍历strs,然后对每个字符串item进行排序,比如:acb bac cab都会被排序为’abc’,然后以abc作为map的key,value就是存放所有匹配出来为key的值,最后把ma…

ChatGPT被曝存在爬虫漏洞,OpenAI未公开承认

OpenAI的ChatGPT爬虫似乎能够对任意网站发起分布式拒绝服务(DDoS)攻击,而OpenAI尚未承认这一漏洞。 本月,德国安全研究员Benjamin Flesch通过微软的GitHub分享了一篇文章,解释了如何通过向ChatGPT API发送单个HTTP请求…

WGAN - 瓦萨斯坦生成对抗网络

1. 背景与问题 生成对抗网络(Generative Adversarial Networks, GANs)是由Ian Goodfellow等人于2014年提出的一种深度学习模型。它包括两个主要部分:生成器(Generator)和判别器(Discriminator)…

Java工程结构:服务器规约(JVM 碰到 OOM 场景时输出 dump 信息、设置tomcat的 JVM 的内存参数、了解服务平均耗时)

文章目录 I 调用远程操作必须有超时设置。II 推荐了解每个服务大致的平均耗时JVM 的 Xms 和 Xmx 设置一样大小的内存容量让 JVM 碰到 OOM 场景时输出 dump 信息调大服务器所支持的最大文件句柄数(File Descriptor,简写为 fd)高并发服务器建议调小 TCP 协议的 time_wait 超时…

1.3.浅层神经网络

目录 1.3.浅层神经网络 1.3.1 浅层神经网络表示 1.3.2 单个样本的向量化表示 1.3.4 激活函数的选择 1.3.5 修改激活函数 1.3.5 练习​​​​​​​ 1.3.浅层神经网络 1.3.1 浅层神经网络表示 之前已经说过神经网络的结构了,在这不重复叙述。假设我们有如下…

24年总结 -- 共赴心中所向往的未来

一、前言 我又回来了,前阵子忙着期末考试的东西,也是快半个月没更新了,刚好前几天报名了博客之星的评选,也很幸运的入围了,也借此机会来回顾一下关于2024年的个人成长、创作经历等。 二、个人 本人是一个双非学校的软…

稳定的通信桥梁,CCLINKIE转ModbusTCP网关实现AGV运输的光速效应

三菱PLC与AGV机器人搬运车通过稳联技术协议转换网关建立通信 一、现场情况概述 - 三菱PLC:使用CC-Link IE协议进行通信。 - AGV机器人搬运车:使用Modbus TCP协议进行通信。 - 协议转换网关:使用稳联技术的协议转换网关将PLC和AGV连接&#xf…

kubuntu24.04配置vmware17.5.1

背景 个人主机的最后一次折腾吧。 丝滑上网前提:singbox实践https://blog.csdn.net/qq_43652666/article/details/145190110 vmware 博通官网下载vmware workstation pro 17.5.1版本,注意一个新注册的账号只能下载一个win版本的vmware和一个linux版本…

基于javaweb的SpringBoot景区旅游管理系统设计和实现(源码+文档+部署讲解)

个人名片 🔥 源码获取 | 毕设定制| 商务合作:《个人名片》 ⛺️心若有所向往,何惧道阻且长 文章目录 个人名片运行环境技术栈适用功能说明使用说明 运行环境 Java≥8、MySQL≥5.7 1.运行环境:最好是java jdk 1.8,我们在这个平台…

NavVis手持激光扫描帮助舍弗勒快速打造“数字孪生”工厂-沪敖3D

在全球拥有近100家工厂的舍弗勒,从2016年开启数字化运营进程,而当前制造、库存、劳动力和物流的数字化,已无法支持其进一步简化工作流程,亟需数字化物理制造环境,打造“数字孪生”工厂。 NavVis为其提供NavVis VLX 3…

「免填邀请码」赋能各类APP,提升转化率与用户体验

在当前移动互联网的高速发展下,用户获取和留存已成为各类APP成功的关键。传统的注册流程虽然能够有效识别用户来源并进行用户管理,但随着市场竞争的激烈,复杂的注册和绑定步骤往往会成为用户流失的瓶颈。免填邀请码技术,结合自研的…

【Linux 源码】内核态到用户态

文章目录 1. 由来2. 流程图3. 中断3.1 概念3.2 8259A芯片3.4 中断时的栈处理3.4.1 相同特权级3.4.2 不同特权级 3.5 中断流程3.6 定位中断程序3.7 中断流程步骤总结 4. 源码4.1 move_to_user_mode4.2 0号进程4.3 TSS和LDT在GDT表排布4.4 ldt中的0x17栈段 5. 总结 1. 由来 ​ 首…

SparkSQL数据模型综合实践

文章目录 1. 实战概述2. 实战步骤2.1 创建数据集2.2 创建数据模型对象2.2.1 创建常量2.2.2 创建加载数据方法2.2.3 创建过滤年龄方法2.2.4 创建平均薪水方法2.2.5 创建主方法2.2.6 查看完整代码 2.3 运行程序,查看结果 3. 实战小结 1. 实战概述 在本次实战中&#…

通过电光晶体的电光效应,实现白光干涉中的电光调制相移原理

通过电光晶体的电光效应,实现白光干涉中的电光调制相移原理,是一个基于物理光学和电光学原理的高级测量技术。以下是对这一原理的详细解释: 一、电光效应与电光晶体 电光效应是指某些材料(主要是晶体)在外加电场的作…

基于Python的多元医疗知识图谱构建与应用研究(上)

一、引言 1.1 研究背景与意义 在当今数智化时代,医疗数据呈爆发式增长,如何高效管理和利用这些数据,成为提升医疗服务质量的关键。传统医疗数据管理方式存在数据孤岛、信息整合困难等问题,难以满足现代医疗对精准诊断和个性化治疗的需求。知识图谱作为一种知识表示和管理…

logback日志自定义占位符

前言 在大型系统运维中,很大程度上是需要依赖日志的。在java大型web工程中,一般都会使用slf4jlogback这一个组合来实现日志的管理。 logback中很多现成的占位符可以可以直接使用,比如线程号【%t】、时间【%d】、日志等级【%p】,…

嵌入式知识点总结 C/C++ 专题提升(一)-关键字

针对于嵌入式软件杂乱的知识点总结起来,提供给读者学习复习对下述内容的强化。 目录 1.C语言宏中"#“和"##"的用法 1.1.(#)字符串化操作符 1.2.(##)符号连接操作符 2.关键字volatile有什么含意?并举出三个不同的例子? 2.1.并行设备的硬件寄存…

嵌入式Linux驱动开发之platform

关键词:rk3399 嵌入式驱动 Linux platform 前言 前面的嵌入式Linux驱动都是描述从特定的SOC与特定设备之间的直接两两通信。而Linux不是为单一某一SOC结构而设计的操作系统,它可以运行在X86、ARM等多种架构多种SOC平台上,如果驱动程序按照S…

KubeSphere部署安装,接入KubeKey安装的k8s集群

KubeSphere安装接入KubeKey安装的k8s集群 文章目录 KubeSphere安装接入KubeKey安装的k8s集群 一.NFS安装配置1.服务器安装NFS服务2.下载并部署 NFS Subdir External Provisioner1).下载部署文件2).创建 NameSpace3).创建 RBAC 资源4).配置 deployment.yaml5).部署 Storage Clas…