# Linux中结束进程的几种方式 **Repository Path**: fpfgitmy_admin/linux-kill-process ## Basic Information - **Project Name**: Linux中结束进程的几种方式 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-04-28 - **Last Updated**: 2021-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Linux中结束进程的几种方式 + [kill -l中信号的意义](Kill-l中信号的意义) #### 方式一:使用自带的kill命令 + 两种信号的区别 1. SIGTERM优雅地终止进程,而SIGKILL则立即终止进程 2. 可以处理、忽略和阻塞SIGTERM信号,但是不能处理或阻塞SIGKILL 3. SIGTERM不会杀死子进程。SIGKILL会杀死子进程 4. 有了SIGTERM,一个进程就有时间将信息发送给它的父进程和子进程。它的子进程由init处理 5. 使用SIGKILL可能会导致创建僵死进程,因为被杀死的进程没有机会告诉它的父进程它已经收到了一个杀死信号 ##### 使用SIGKILL信号 + 这个信号不能被忽略或阻止,强制结束进程,进程将与其线程一起终止(如果有线程),当有进程无响应时,使用该信号 1. 使用`ps -ef|grep uname`查用进程名包含uname的进程 2. 使用`kill -9 pid`强制结束进程 3. 使用`kill -u user1`结束用户user1的所有进程 ##### 使用SIGTERM信号 + 可以被阻塞、处理和忽略,让程序友好的退出 1. 使用`kill -15 pid`结束进程,-15可以省略不写 #### 使用psmisc工具 + 默认使用SIGTERM信号 + 可以被阻塞、处理和忽略,让程序友好的退出 1. 使用该命令安装工具`yum -y install psmisc` 2. `killall abc` 结束一个名为abc的进程 3. 查看killall支持的信号`killall -l`