温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统kill具体使用方法是什么

发布时间:2022-01-26 11:58:22 来源:亿速云 阅读:222 作者:柒染 栏目:开发技术

本篇文章为大家展示了Linux系统kill具体使用方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

概念

kill命令用来删除执行中的程序或工作。

kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

语法、选项和参数

语法

kill (选项) (参数)

选项

 -a:当处理当前进程时,不限制命令名和进程号的对应关系;
 -l :若不加选项,则-l参数会列出全部的信息名称;
 -p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
 -s :指定要送出的信息;
 -u:指定用户。
 12345

参数

进程或作业识别号:指定要删除的进程或作业。

例程

 # 列出所有信号名称
 [root@localhost local]$ kill -l
  1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL
  5) SIGTRAP      6) SIGABRT      7) SIGBUS       8) SIGFPE
  9) SIGKILL     10) SIGUSR1     11) SIGSEGV     12) SIGUSR2
 13) SIGPIPE     14) SIGALRM     15) SIGTERM     16) SIGSTKFLT
 17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
 21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU
 25) SIGXFSZ     26) SIGVTALRM   27) SIGPROF     28) SIGWINCH
 29) SIGIO       30) SIGPWR      31) SIGSYS      34) SIGRTMIN
 35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3  38) SIGRTMIN+4
 39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
 43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7  58) SIGRTMAX-6
 59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
 63) SIGRTMAX-1  64) SIGRTMAX
 123456789101112131415161718

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

 HUP     1    终端断线
 INT     2    中断(同 Ctrl + C)
 QUIT    3    退出(同 Ctrl + \)
 TERM   15    终止(默认kill)
 KILL    9    强制终止
 CONT   18    继续(与STOP相反, fg/bg命令)
 STOP   19    暂停(同 Ctrl + Z)
 1234567

先用ps查找进程,然后用kill杀掉:

 [root@localhost local]$ ps -ef | grep vim
 root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
 root      3370  2822  0 16:21 pts/0    00:00:00 grep vim
 [root@localhost local]$ kill -9 3268
 [root@localhost local]$ kill -9 3268
 -bash: kill: (3268) - 没有那个进程
 123456

kill -9、kill -15

kill 与 kill -15

系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该signal后,将会发生以下的事情:

  • 程序立刻停止;

  • 当程序释放相应资源后再停止;

  • 程序可能仍然继续运行;

大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后在停止。但是也有程序可以在接受到信号量后,做一些其他的事情,并且这些事情是可以配置的。如果程序正在等待IO,可能就不会立马做出相应。也就是说,SIGTERM多半是会被阻塞的、忽略。

kill -9

kill -9 pid等于kill -s 9 pid,表示强制,尽快终止一个进程。多半admin会用这个命令。

因此kill – 9表示强制杀死该进程;与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理。

上述内容就是Linux系统kill具体使用方法是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI