linux kill命令信号,linux kill命令详解
kill 命令的用途
kill 命令很容易让人产生误解,以为它仅仅就是用来杀死进程的。我们来看一下 man page 对它的解释:kill - send a signal to a process.
从官方的解释不难看出,kill 是向进程发送信号的命令。当然我们可以向进程发送一个终止运行的信号,此时的 kill 命令才是名至实归。事实上如果我们不给 kill 命令传递信号参数,它默认传递终止进程运行的信号给进程!这是 kill 命令最主要的用法,也是本文要介绍的内容。
一般情况下,终止一个前台进程使用 Ctrl + C 就可以了。对于一个后台进程就须用 kill 命令来终止。我们会先使用 ps、top 等命令获得进程的 PID,然后使用 kill 命令来杀掉该进程。
kill 命令格式
kill [options] [...]
[…] : 把信号发送给列出的所有进程。
options :
- : 指定发送给进程的信号,指定信号的名称或号码都可以。
-l : 列出所有信号的名称和号码。
kill 命令详情
查看可用信号
既然 kill 命令是用来向进程发送信号的,那就让我们先来看看都有哪些信号可以发送给进程。
$ kill -l
可不少啊!但这些信号中只有第 9 种信号(SIGKILL)才可以无条件的终止进程,其他信号进程都有权利忽略。并且这么多的信号中常用的也不多,下面我们解释几个常用信号的含义。
1
SIGHUP
启动被终止的程序,可让该进程重新读取自己的配置文件,类似重新启动。
2
SIGINT
相当于用键盘输入 [ctrl]-c 来中断一个程序的进行。
9
SIGKILL
代表强制中断一个程序的进行,如果该程序进行到一半,那么尚未完成的部分可能会有“半产品”产生,类似 vim会有 .filename.swp 保留下来。
15
SIGTERM
以正常的方式来终止该程序。由于是正常的终止,所以后续的动作会将他完成。不过,如果该程序已经发生问题,就是无法使用正常的方法终止时,输入这个 signal 也是没有用的。
19
SIGSTOP
相当于用键盘输入 [ctrl]-z 来暂停一个程序的进行。
上表仅是常见的信号,更多的信号信息请自行通过 man 7 signal 了解。一般来说,只要记住 "1,9,15" 这三个信号的意义就可以了。
常用命令
$ kill -15 pid
这条命令发信号让进程正常退出。所谓的正常退出是指按应用程序自己的退出流程完成退出,这样就可以清理并释放资源。比如 vim 程序,如果是正常的退出,就会删除掉临时文件 *.swp。
既然信号 15 是退出进程的正确方式,那它也应该是最常用的方式,因而我们可以省略参数 -15。
$ kill pid
这条命令和上面的命令是等价的,kill 命令默认发送信号 15 给目标进程。
当进程出现了异常状况,不能通过信号15正常退出时,我们就需要通过非常的手段直接终结掉进程。所谓的非常手段就是传递信号 9 给目标进程!
$ kill -9 pid
这样结束掉的进程不会进行资源的清理工作,所以如果你用它来终结掉 vim 的进程,就会发现临时文件 *.swp 没有被删除。
总结
使用信号 15 是安全的,而信号 9 则是处理异常进程的最后手段,请勿滥用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结
以上是编程之家为你收集整理的linux kill命令详解全部内容,希望文章能够帮你解决linux kill命令详解所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
linux kill命令信号,linux kill命令详解相关推荐
- linux命令ps -aux|grep xxx详解
linux命令ps -aux|grep xxx详解 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大 ...
- kill -9 进程号杀不死可以用下面的杀掉 Linux下强制杀死进程的方法详解
常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx 1822 1 0 11:38 ? 00:00:49 gnome-terminal smx 1823 1822 0 11:38 ...
- linux xxx命令,linux命令ps aux|grep xxx详解
对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令. 使用该命令 可以确定有哪些进程正在运 ...
- linux添加用户命令_Linux useradd命令添加新用户图文详解
在Linux 系统中,可以使用 useradd 命令新建用户,此命令的基本格式如下: [root@localhost ~]#useradd [选项] 用户名 该命令常用的选项及各自的含义,如表 1 所 ...
- 编程实现linux中的who命令功能,Linux who命令简介及使用方法详解
玩蛇网推荐图文教程:python 列表 本文是关于Linux who命令简介及使用方法详解一文.如果你是一名系统管理员,可能需要需要在一个特定的时间点都有谁活跃在系统上.以便必须严密监视我们的服务器. ...
- linux cp -r 参数,Linux系统中cp命令的参数及用法详解
Linux系统中cp命令主要是用来复制文件或者目录.下面由学习啦小编为大家整理了Linux系统中cp命令的参数及用法详解的相关知识,希望对大家有帮助! Linux系统中cp命令的参数及用法详解:参数说 ...
- linux dig命令的安装和使用详解
linux dig命令的安装和使用详解 什么是dig命令 Dig是Domain Information Gopher的缩写,是一种DNS查找实用程序,用于探测DNS服务器并解决与DNS服务器相关的问题 ...
- linux添加目录命令权限,linux chmod命令设置目录/文件权限详解
首页 > Linux教程 > 常用命令 > chmod 文件权限 linux chmod命令设置目录/文件权限详解 linux中chmod命令用于改变系统文件或目录的访问权限,用数字 ...
- linux中替换命令详解,linux中sed命令字符串替换的用法详解
Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...
- python调用adb shell命令_Python之使用adb shell命令启动应用的方法详解
Python之使用adb shell命令启动应用的方法详解 一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具 ...
最新文章
- 大棚骨架搭建好 科学施肥增收增产
- read name 和 read 在 Bash 中的区别
- Exceptions Errors - 异常与错误
- Fluent Ribbon 第八步 其他控件
- python进行中文文本聚类(切词以及Kmeans聚类)
- c语言叠阵题目怎么做,选出下列词语书写全正确的一组[]A、贪婪点辍忍军不禁玲珑剔透B、辜负骚扰擎天旱地多姿多采C、小憩茁壮怡然自得头昏目眩D、玷污糟蹋蜂围叠阵明察秋豪...
- 期权定价模型之经典--BS模型
- 基因结构图的0_肿瘤基因突变Biomarkers的药物研究神器—OncoKB数据库
- 华为机试题练习(一)
- 音标课件软件测试,宝宝益智英语字母音标(测试版)
- 独家免费资源:《成长的烦恼》全7季在线高清无水印播放!
- Unity下利用 timeScale和 unscaledDeltaTime实现部分静帧
- html5中怎么实现居中显示图片
- 夸夸群火爆背后,是低成本社交的情绪价值
- use of undeclared identifier ‘connect‘
- chatgpt API key 获取及延续
- iOS开发系列课程(01) --- iOS编程入门
- php 简单图片验证码,PHP 实现简单图片验证码
- linux so 发布,如何在Linux上构建发布包含.so动态库的snap安装包
- GMT、UTC与24时区等时间概念