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] <pid> [...] <pid> […] : 把信号发送给列出的全部历程。 options : -<signal> : 指定发送给历程的信号,指定信号的名称或号码都可以。 -l : 列出全部信号的名称和号码。 kill 呼吁详情 查察可用信号 既然 kill 呼吁是用来向历程发送信号的,那就让我们先来看看都有哪些信号可以发送给历程。 $ kill -l 可不少啊!但这些信号中只有第 9 种信号(SIGKILL)才可以无前提的终止历程,其他信号历程都有权力忽略。而且这么多的信号中常用的也不多,下面我们表明几个常用信号的寄义。
上表仅是常见的信号,更多的信号信息请自行通过 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 则是处理赏罚非常历程的最后本领,请勿滥用。 以上就是本文的所有内容,但愿对各人的进修有所辅佐,也但愿各人多多支持编程小能力。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |