Linux中的kill命令用来终止指定的进程(terminate a process)的运行。 kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。

  (1)用法:

      用法:  kill  [选项]  参数

参数指的是进程或作业识别号,指定要删除的进程或作业。

(2)功能:

      功能:  发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程 。

若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

root用户将影响用户的进程,非root用户只能影响自己的进程。

(3)选项参数:

1) -a:           当处理当前进程时,不限制命令名和进程号的对应关系

2) -l <信息编号>:      若不加<信息编号>选项,则-l参数会列出全部的信息名称

3) -p:           指定kill 命令只打印相关进程的进程号,而不发送任何信号

4) -s <信息名称或编号>:   指定要送出的信息

    (4)实例:

1)[sunjimeng@localhost ~]$ kill -l            列出所有的信号

[sunjimeng@localhost ~]$ kill -l
) SIGHUP ) SIGINT ) SIGQUIT ) SIGILL ) SIGTRAP
) SIGABRT ) SIGBUS ) SIGFPE ) SIGKILL ) SIGUSR1
) SIGSEGV ) SIGUSR2 ) SIGPIPE ) SIGALRM ) SIGTERM
) SIGSTKFLT ) SIGCHLD ) SIGCONT ) SIGSTOP ) SIGTSTP
) SIGTTIN ) SIGTTOU ) SIGURG ) SIGXCPU ) SIGXFSZ
) SIGVTALRM ) SIGPROF ) SIGWINCH ) SIGIO ) SIGPWR
) SIGSYS ) SIGRTMIN ) SIGRTMIN+ ) SIGRTMIN+ ) SIGRTMIN+
) SIGRTMIN+ ) SIGRTMIN+ ) SIGRTMIN+ ) SIGRTMIN+ ) SIGRTMIN+
) SIGRTMIN+ ) SIGRTMIN+ ) SIGRTMIN+ ) SIGRTMIN+ ) SIGRTMIN+
) SIGRTMIN+14 ) SIGRTMIN+ ) SIGRTMAX- ) SIGRTMAX- ) SIGRTMAX-
) SIGRTMAX- ) SIGRTMAX- ) SIGRTMAX- ) SIGRTMAX- ) SIGRTMAX-
) SIGRTMAX- ) SIGRTMAX- ) SIGRTMAX- ) SIGRTMAX- ) SIGRTMAX-
) SIGRTMAX- ) SIGRTMAX

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略,下面是常用的信号:

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

2)[sunjimeng@localhost ~]$ kill 3429              查找并删除命令

[sunjimeng@localhost ~]$ ps -ef |grep "/usr/bin/seapplet"
sunjime+ : ? :: /usr/bin/seapplet
sunjime+ : pts/ :: grep --color=auto /usr/bin/seapplet
[sunjimeng@localhost ~]$ kill
[sunjimeng@localhost ~]$ kill
bash: kill: () - 没有那个进程
[sunjimeng@localhost ~]$ kill
bash: kill: () - 没有那个进程
[sunjimeng@localhost ~]$ ps -ef |grep "/usr/bin/seapplet"
sunjime+ : pts/ :: grep --color=auto /usr/bin/seapplet

注意在测试时尽量不要删除root的进程。

3)[sunjimeng@localhost ~]$ kill -l KILL             显示指定信号的数值

[sunjimeng@localhost ~]$ kill -l KILL

[sunjimeng@localhost ~]$ kill -l TERM

4)[sunjimeng@localhost ~]$ kill -9 $(ps -ef |grep sunjimeng) 删除指定用户的所有进程

[sunjimeng@localhost ~]$ kill -u sunjimeng
bash: kill: u: 无效的信号声明

-u参数不能用了。删除指定用户的所有进程用下面的命令:    

[sunjimeng@localhost ~]$ kill - $(ps -ef |grep sunjimeng)

5)[sunjimeng@localhost ~]$ kill -9 1              杀死init进程

[sunjimeng@localhost ~]$ kill -
bash: kill: () - 不允许的操作
[sunjimeng@localhost ~]$

init是Linux系统操作中不可缺少的程序之一。所谓的init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。 其它所有进程都是init进程的子孙。init进程是不可杀的!

      (5)其他:

Linux进程的管理:

进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。 
  Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。

1)交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。

2)批处理进程和终端没有联系,是一个进程序列。

3)监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行。例如,httpd是著名的Apache服务器的监控进程。 
    kill命令的工作原理是:

向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源。在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。

每天一个Linux命令(37)kill命令的更多相关文章

  1. linux命令总结kill命令详解

    1.作用 kill命令用来中止一个进程. 2.格式 kill [ -s signal | -p ] [ -a ] pid ... kill -l [ signal ] 3.参数 -s:指定发送的信号. ...

  2. linux命令之------which命令/cp命令/Head及tail命令/grep命令/pwd命令/cd命令/df命令/mkdir命令/mount及umount命令/ls命令/history命令/ifconfig命令/ping命令/useradd命令/命令passwd/kill命令/su命令/clear命令/ssh命令/tar解压缩/远程拷贝scp

    which命令 1)    作用:搜索某个系统命令的位置. 2)    案例:查询vi命令路径:which vi cp命令 1)作用:用于复制文件或目录: 2)-a:此选项通常使用在复制目录时使用,它 ...

  3. linux中的kill命令

    一. 定义 kill命令用来删除执行中的程序或工作.kill可将指定的信息送至程序.预设的信息为SIGTERM(15),可将指定程序终止.若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除 ...

  4. 【命令】kill命令

    kill命令详解: <---用于向进程发送信号,以实现对进程的管理---> 语法格式:kill  [-s signal|-SIGNAL]  pid... kill -l [signal] ...

  5. PS命令和kill命令

    名称:ps使用权限:所有使用者使用方式:ps [options] [--help]说明:显示瞬间行程 (process) 的动态参数:ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义-A   ...

  6. 每天一个linux命令(37)--iostat命令

    Linux 系统中的iostat是I/O statistics (输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况. ...

  7. 【Docker 命令】- kill命令

    docker kill :杀掉一个运行中的容器. 语法 docker kill [OPTIONS] CONTAINER [CONTAINER...] OPTIONS说明: -s :向容器发送一个信号 ...

  8. 每天一个linux命令(42):kill命令

    Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令.通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须 ...

  9. 每天一个linux命令(34):kill命令

    Linux 中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令.通常,终止一个前台进程可以 使用Ctrl+C键,但是,对于一个后台进程 ...

随机推荐

  1. elementUI 等 UI框架中,@change方法传递参数

      有些业务中,在使用 @change 回调的时候需要动态获取当前循环下的特定值,但是@change方法一旦传递参数就会覆盖原本的数据,对此,有两种方法解决: // 这种方法据说会改变 this 指向 ...

  2. Bootstrap table 实现树形表格,实现联动选中,联动取消

    公司最近有需求要做树形式table.因为是前后端不分离项目,且之前已经引入了bootstrap table插件,现把实现方式分享一下: <!DOCTYPE HTML> <html l ...

  3. SSM框架的常用注解整理

    一.mybatis 1 配置一对多查询和多对多查询的注解方式映射关系: @Results:声明映射关系的配置  Value属性接收 @Result的数组 @Result:配置映射关系   id属性(b ...

  4. wamp2.5最简单的虚拟主机配置

    1.配置host文件 2.配置httpd.conf 去掉# LoadModule rewrite_module modules/mod_rewrite.so Include conf/extra/ht ...

  5. 机器学习分类算法之K近邻(K-Nearest Neighbor)

    一.概念 KNN主要用来解决分类问题,是监督分类算法,它通过判断最近K个点的类别来决定自身类别,所以K值对结果影响很大,虽然它实现比较简单,但在目标数据集比例分配不平衡时,会造成结果的不准确.而且KN ...

  6. python3:类和实例

    面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可 ...

  7. js赋值后 改变现有数据会修改原来的数据

    看代码: let obj1 = { name: '张三', age: , sex: '男' } let obj2 = obj1 console.log('obj2:', obj2) obj2.age ...

  8. 转 Nacos集群环境搭建

    转载 送上nacos-server-1.1.3 链接:https://pan.baidu.com/s/11r3OeffHN8AwKLurmmzJmg  密码:wdu2 下载↓↓↓↓ https://g ...

  9. SpringBoot整合MyBatis-Plus代码自动生成类

    在springboot的test测试类下创建 MpGenerator.java   配置  MpGenerator.java public class MpGenerator { @Test publ ...

  10. vue-cli3.0配置

    仅在项目根目录中新建vue.config.js文件即可,部分配置如下 module.exports = { // 基本路径 baseUrl: '/', // 输出文件目录 outputDir: 'di ...