Linux kill 命令很容易让人产生误解,以为它仅仅就是用来杀死进程的。我们来看一下 man page 对它的解释:kill - send a signal to a process.
从官方的解释不难看出,kill 是向进程发送信号的命令。当然我们可以向进程发送一个终止运行的信号,此时的 kill 命令才是名至实归。事实上如果我们不给 kill 命令传递信号参数,它默认传递终止进程运行的信号给进程!这是 kill 命令最主要的用法,也是本文要介绍的内容。
一般情况下,终止一个前台进程使用 Ctrl + C 就可以了。对于一个后台进程就须用 kill 命令来终止。我们会先使用 ps、top 等命令获得进程的 PID,然后使用 kill 命令来杀掉该进程。
kill [options] <pid> [...] <pid> […] : 把信号发送给列出的所有进程。
options :
-<signal> : 指定发送给进程的信号,指定信号的名称或号码都可以。 -l : 列出所有信号的名称和号码。
既然 kill 命令是用来向进程发送信号的,那就让我们先来看看都有哪些信号可以发送给进程。
$ kill -l
可不少啊!但这些信号中只有第 9 种信号(SIGKILL)才可以无条件的终止进程,其他信号进程都有权利忽略。并且这么多的信号中常用的也不多,下面我们解释几个常用信号的含义。
启动被终止的程序,可让该进程重新读取自己的配置文件,类似重新启动。
相当于用键盘输入 [ctrl]-c 来中断一个程序的进行。
代表强制中断一个程序的进行,如果该程序进行到一半,那么尚未完成的部分可能会有“半产品”产生,类似 vim会有 .filename.swp 保留下来。
如果你是该程序可不可以删除的话,当然是不可以的,删除该程序的话会出现图形界面无法适用的情况,当然如果你关闭了该进程也是不会影响系统的正常运行的。就现在,我们只需要知道如果shell与终端驱动器被正常配置,在键盘上输入中断字符会产生sigint信号发送到前台进程,这会使得程序终止,除非已经设定动作来捕获这个信号。还请高手指点站长一二)0x000006b 因为代用的磁盘尚未插入,所以程序已经停止0x000006c 磁盘正在使用中或被锁定0x000006f 文件名太长0x0000070 硬盘空间不足0x000007f 找不到指定的程序0x000045b 系统正在关机0x000045c 无法中止系统关机,因为没有关机的动作在进行中0x000046a 可用服务器储存空间不足0x0000475 系统bios无法变更系统电源状态0x000047e 指定的程序需要新的windows版本0x000047f 指定的程序不是windwos或ms-dos程序0x0000480 指定的程序已经启动,无法再启动一次0x0000481 指定的程序是为旧版的 windows所写的。
相当于用键盘输入 [ctrl]-z 来暂停一个程序的进行。
有关ab音箱的更多信息请登录爱hifi音响网(lovehifi.com)了解。这个定义中首先弥补了信息论中对信息定义的特定指向性--即只描述了非人类、非语义层的信息概念,把信息这一概念放到人类社会以及人类交往中考察,也纠正了控制论信息定义中对信息概念的泛化倾向,继而明确指出信息是物质的属性,而不是事物本身,是由事物发出的消息、指令、数据、信号等所包含的内容,是数据、消息中的意义。如果您想对“早餐店加盟”有更多了解,请点击搜索更多信息:。
$ kill -15 pid