Linux系统:kill命令

发布于:2024-09-18 ⋅ 阅读:(11) ⋅ 点赞:(0)

1、命令详解:

       kill命令是用于向进程发送信号,通常用来终止某个指定PID服务进程,kill命令可以发送不同的信号给目标进程,来实现不同的操作,如果不指定信号,默认会发送 TERM 信号(15),即终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。

2、官方参数:

选项:
      -s sig	SIG是一个信号名称
      -n sig	SIG是一个信号名称数字
      -l	    列出信号名称
      -L	    与-l参数同义

3、信号详解

        通过命令可以列出所有信号,例如下图所示:SIGHUP信号前面为1),在日常使用中可以不写后面完整的信号名称,只需要在kill命令后跟信号数字即可,后面会有实战案例演示。

kill -l
#列出所有信号

1) SIGHUP 挂起信号。
2) SIGINT 中断信号,类似Ctrl+C键。
3) SIGQUIT 退出信号。
4) SIGILL 非法指令信号,通常表示进程执行了非法的机器指令。
5) SIGTRAP 跟踪陷阱信号,通常用于调试目的。
6) SIGABRT 中止信号,通常由进程自己发送并反馈已经崩溃。
7) SIGBUS 总线错误信号,通常表示进程访问了无效的内存地址。
8) SIGFPE 浮点异常信号,通常表示进程执行了无效的浮点操作。
9) SIGKILL 强制终止信号,通常用于强制终止进程。
10) SIGUSR1 用户自定义信号1,可以由进程自己发送或其他进程发送。
11) SIGSEGV 段错误信号,通常表示进程访问了无效的内存地址。
12) SIGUSR2 用户自定义信号2,可以由进程自己发送或其他进程发送。
13) SIGPIPE 管道破裂信号,通常表示进程向已关闭的管道写入数据。
14) SIGALRM 定时器信号,通常用于定时器和闹钟功能。
15) SIGTERM
 
终止信号,通常用于请求进程正常退出。
16) SIGSTKFLT 协处理器栈错误信号,通常表示协处理器栈溢出。
17) SIGCHLD 子进程状态改变信号,通常在子进程终止时发送给父进程。
18) SIGCONT 继续信号,通常用于恢复被暂停的进程。
19) SIGSTOP 停止信号,无法被忽略或捕获,通常用于暂停进程。
20) SIGTSTP 终端停止信号,通常由用户按下Ctrl+Z键发送给进程。
21) SIGTTIN 后台进程读取终端信号,通常在后台进程尝试从控制终端读取输入时发送。
22) SIGTTOU 后台进程写入终端信号,通常在后台进程尝试向控制终端写入输出时发送。
23) SIGURG 紧急条件信号,通常表示进程收到了带外数据。
24) SIGXCPU CPU时间限制信号,通常表示进程超过了分配给它的CPU时间限制。
25) SIGXFSZ 文件大小限制信号,通常表示进程试图创建或修改的文件超过了文件大小限制。
26) SIGVTALRM 虚拟定时器信号,通常用于虚拟定时器和闹钟功能。
27) SIGPROF 性能分析器信号,通常用于性能分析器和跟踪工具。
28) SIGWINCH 窗口大小改变信号,通常在终端窗口大小发生变化时发送给进程。
29) SIGIO 输入/输出信号,通常用于异步I/O操作。
30) SIGPWR 电源故障信号,通常表示系统电源出现故障。
31) SIGSYS 无效系统调用信号,通常表示进程尝试执行无效的系统调用。
34) SIGRTMIN 实时信号最小值,可用于用户自定义实时信号。

35) SIGRTMIN+1

到63)SIGRTMAX-1

实时信号,可用于用户自定义实时信号。
64)SIGRTMAX 实时信号最大值,可用于用户自定义实时信号。

4、实战案例

1、查看信号

        列出kill命令信号数字和名称。

kill -l

2、退出进程

        首先我们必须知道需要退出哪些进程,然后通过ps命令来查询进程号信息,如下图所示为查询和退出进程的完整流程,用另外一个窗口可以查看正在执行中的进程被退出后的反馈。

kill 45748
#退出进程号为45748的应用

 

3、强制退出进程

        通过查看信号列表得知如果需要强制退出进程则需要用到信号9) SIGKILL

kill -9 47520


网站公告

今日签到

点亮在社区的每一天
去签到