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. php中引入facebook的messenger消息接口

    前一段时间需要开发一个messenger的消息接口,但是facebook的官方文档似是而非,而且由于在国内比较小众,之前也没有另外的人写过中文的开发教程,只好自己进行了一番研究并完成了一个demo,希 ...

  2. 各类无次数限制的免费API接口,再也不怕找不到免费API了

    各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免 ...

  3. 表单提交 multipart/form-data 和 x-www-form-urlencoded的区别

    表单提交表单有两种提交方式,POST和GET.通常我们会使用POST方式,一是因为形式上的安全 :二是可以上传文件. 我之前经常忽略掉表单的编码类型,觉得它特别长比较难记,而且不设置也似乎不影响什么. ...

  4. 出现( linker command failed with exit code 1)错误总结(http://blog.csdn.net/hengshujiyi/article/details/21182813)

    这种问题,通常出现在添加第三方库文件或者多人开发时. 这种问题一般是找不到文件而导致的链接错误. 我们可以从如下几个方面着手排查. 1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误. ...

  5. 无锁版以时间为GUID的方法

    之前的博客 将时间作为GUID的方法 中,我使用了锁.我在实际的使用中,错将锁的释放放在了if语句中,这纯粹是我的失误,导致了很严重的错误.因此我在想是否有无锁的将时间作为GUID的方式,答案是使用I ...

  6. Apache Allow 命令

    用于设置哪些客户端可以访问 Apache,格式如下: Allow from [All /全域名/部分域名/IP 地址/网络地址/CIDR 地址] All:表示全部客户端 全域名:表示域名对应的客户端, ...

  7. MTK6261之检测是否插了T卡

    T卡的更目录可用SRV_FMGR_CARD_DRV 其宏定义如下: #define SRV_FMGR_CARD_DRV FS_GetDrive(FS_DRIVE_V_REMOVABLE, 1, FS_ ...

  8. codeforces 57 C Array(简单排列组合)

    C. Array time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  9. [CF1161C] Thanos Nim

    传送门 题意:\(2n\)堆石子,每堆\(a_i\)个,先手每次选中\(n\)堆石子,并从每堆中拿走任意个(可以不同).轮到某人时不足\(n\)堆则判负,问先手是否必胜.\(n\leq25,a_i\l ...

  10. [USACO2009 OPEN] 滑雪课 Ski Lessons

    洛谷P2948 看到题目就觉得这是动规但一直没想到如何状态转移……看了别人的题解之后才有一些想法 f[i][j]:前i单位时间能力值为j可以滑的最多次数 lessons[i][j]:结束时间为i,获得 ...