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 -l1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP6) 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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML之拜年/跨年APP(改进版)

目录: 一:目录 二:效果 三:页面分析/开发逻辑 1.页面详细分析: 2.开发逻辑: 四:完整代码(不多废话) index.html部分 app.json部分 二:效果 三:页面…

深入探索Python人脸识别技术:从原理到实践

一、引言在当今数字化时代,人脸识别技术已然成为了计算机视觉领域的璀璨明星,广泛且深入地融入到我们生活的各个角落。从门禁系统的安全守护,到金融支付的便捷认证,再到安防监控的敏锐洞察,它的身影无处不在,以其高效、精准的特性,极大地提升了我们生活的便利性与安全性…

JupyterLab 安装以及部分相关配置

安装 JupyterLab pip install jupyter启动 JupyterLab jupyter lab [--port <指定的端口号>] [--no-browser] # --port 指定端口 # --no-browser 启动时不打开浏览器安装中文 首先安装中文包 pip install jupyterlab-language-pack-zh-CN安装完成后重启 JupyterLab 选…

mac m1下载maven安装并配置环境变量

下载地址&#xff1a;Download Apache Maven – Maven 解压到一个没有中文和空格的文件夹 输入pwd查看安装路径 输入cd返回根目录再输入 code .zshrc 若显示 command not found: code你可以通过以下步骤来安装和配置 code 命令&#xff1a; 1. 确保你已经安装了 Visual Studio…

【环境搭建】Metersphere v2.x 容器部署教程踩坑总结

前言 Metersphere部署过程中遇到的问题有点多&#xff0c;原因是其容器的架构蛮复杂的&#xff0c;比较容易踩坑&#xff0c;所以记录一下。 介绍 MeterSphere 是开源持续测试平台&#xff0c;遵循 GPL v3 开源许可协议&#xff0c;涵盖测试管理、接口测试、UI 测试和性能测…

VSCode的配置与使用(C/C++)

从0开始教你在vscode调试一个C文件 一.首先是配置你的编译环境&#xff0c;添加到环境变量&#xff08;默认你是全新的电脑&#xff0c;没有安装vs2019之类的&#xff09; 原因&#xff1a;因为相比于vs2019&#xff0c;vscode只是个代码编辑器&#xff0c;相当于一个彩色的、…

QTableWidget的简单使用

1.最简单的表格示例&#xff1a; ui->tableWidget->setRowCount(2);// 设置行数ui->tableWidget->setColumnCount(3);// 设置列数&#xff0c;一定要放在设置行表头之前QStringList rowHeaderList;// 行表头rowHeaderList << QStringLiteral("姓名"…

七大排序算法

文章目录 排序的概念及引用1.插入排序2.希尔排序(缩小增量排序)3.选择排序4.堆排序5.冒泡排序6.快速排序7.归并排序8.代码排序部分的测试9.代码加效果大致测试时间&#xff08;仅供参考&#xff09; 排序的概念及引用 排序:将数据按照特定的规律排成递增或递减的操作 稳定性:…

前端常见标签

1. <!-- ! 快速生成标签 --> &#xff01;回车会立刻生成模板 2. <!-- CTRL / 生成注释--> 3. 文本标签 <!-- span 文本标签 --> 生成如下&#xff1a; 4. <!-- h1-h6标题标签 --> 大小依次递减 生成&…

PHP教育系统小程序

&#x1f310; 教育系统&#xff1a;全方位学习新体验&#xff0c;引领未来教育风尚 &#x1f680; 教育系统&#xff1a;创新平台&#xff0c;智慧启航 &#x1f4f1; 教育系统&#xff0c;一款深度融合科技与教育的创新平台&#xff0c;匠心独运地采用先进的ThinkPHP框架与U…

MySQL配置my.ini文件

my.ini文件中存储了数据库的文件地址&#xff0c;数据库数据存储地址以及登录密码等基础信息。在遇到忘记密码或者其他基础问题时&#xff0c;修改my.ini文件很方便。但是部分数据库版本默认不生成my.ini文件&#xff0c;需要自己进行配置。 1.停止数据库服务。在搜索框中输入…

【电视盒子】HI3798MV300刷机教程笔记/备份遥控码修复遥控器/ADB/线刷卡刷/电视盒子安装第三方应用软件

心血来潮&#xff0c;看到电视机顶盒满天飞的广告&#xff0c;想改造一下家里的电视盒子&#xff0c;学一下网上的人刷机&#xff0c;但是一切都不知道怎么开始&#xff0c;虽然折腾了一天&#xff0c;以失败告终&#xff0c;还是做点刷机笔记。 0.我的机器 年少不会甄别&…

Java中的构造器

Java中的构造器详解 1. 什么是构造器 构造器&#xff08;Constructor&#xff09; 是一种特殊的方法&#xff0c;用于在创建对象时初始化对象的状态。构造器的名字必须与类名相同&#xff0c;且没有返回类型&#xff0c;连 void 也不能使用。 2. 构造器的特点 名称与类名相同…

Zabbix监控山特UPS电源:实现高效监控与告警

背景 近期&#xff0c;随着机房迁移的进行&#xff0c;为了提升电力保障并确保设备的持续运行&#xff0c;我们在原有基础上新增了多台山特UPS电源作为备用电源。这些UPS电源的主要作用是在电力中断时为机房设备提供足够的电力支持&#xff0c;确保设备有充足的时间进行正常关…

计算机系统原理:一些断言

0 虚拟机和解释器 在Java中&#xff0c;JVM既充当了一个虚拟机的角色&#xff0c;也包含了用于执行字节码的解释器。同样地&#xff0c;Python的CPython实现也是先将源代码编译成字节码&#xff0c;然后由Python虚拟机执行。 1 从源代码中提取token的过程就是词法分析 词法分…

【正则表达式】从0开始学习正则表达式

正则表达式&#xff08;英语&#xff1a;Regular Expression&#xff0c;在代码中常简写为regex、regexp或RE&#xff09; 一、推荐学习网站 正则表达式 – 语法 | 菜鸟教程 正则表达式30分钟入门教程 | 菜鸟教程 编程胶囊-打造学习编程的最好系统 二、必知必记 2.1 元字符…

mysql之基本常用的语法

mysql之基本常用的语法 1.增加数据2.删除数据3.更新/修改数据4.查询数据 4.1.where子句4.2.order by4.3.limit与offset4.4.分组与having4.5.连接 5.创建表 1.增加数据 insert into 1.指定列插入 语法&#xff1a;insert into table_name(列名1,列名2,....,列名n) values (值…

Jenkins 启动

废话 这一阵子感觉空虚&#xff0c;心里空捞捞的&#xff0c;总想找点事情做&#xff0c;即使这是一件微小的事情&#xff0c;空余时间除了骑车、打球&#xff0c;偶尔朋友聚会 … 还能干什么呢&#xff1f; 当独自一人时&#xff0c;究竟可以做点什么&#xff0c;填补这空虚…

阳振坤:AI 大模型的基础是数据,AI越发达,数据库价值越大

2024年1月12日&#xff0c;第四届OceanBase数据库大赛决赛在北京圆满落幕。在大赛的颁奖典礼上&#xff0c;OceanBase 首席科学家阳振坤老师为同学们献上了一场主题为“爱上数据库”的公开课&#xff0c;他不仅分享了个人的成长历程&#xff0c;还阐述了对数据库行业现状与未来…

麦田物语学习笔记:场景切换淡入淡出和动态UI显示

基本流程 人物在切换场景有些僵硬,所以增加淡入淡出效果 1.代码思路 (1)核心原理是控制Fade Panel中的CanvasGroup中的Alpha值的大小来实现淡入淡出的效果 (2)用协程去表示变黑或变透明 (3)人物输入被阻拦的情况下,人物却还在移动,这个问题需要解决 2.代码实现 在TransitionM…