在CentOS系统中,kill命令用于终止正在运行的进程,以下是关于CentOS中kill命令的详细说明:
基本用法

1、确定要杀死的进程:使用ps ef命令查看当前系统的所有进程,并找到需要终止的进程ID(PID),要查找httpd进程,可以使用以下命令:
ps ef | grep httpd
2、发送TERM信号:标准的kill命令通常发送TERM(15)信号来终止进程:
kill TERM PID
3、强制杀死进程:如果进程没有响应,可以使用9选项强制杀死:
kill 9 PID
4、杀死所有子进程:确保在杀死父进程之前,先杀死其所有的子进程,以防止僵尸进程的产生:
kill l PID
5、优雅地结束进程:使用l选项尝试以启动进程的用户已注销的方式结束进程:
kill l PID
6、杀死同一进程组内的所有进程:使用killall命令指定要终止的进程名称,而非PID:

killall httpd
7、停止和重启进程:使用kill HUP PID命令让Linux和缓地执行进程关闭,然后立即重启:
kill HUP PID
8、重启服务:当对配置文件进行修改后,可以使用以下命令重启服务:
systemctl restart service_name
常见信号及其含义
| 信号 | 描述 |
| 1 | SIGHUP,终端挂起 |
| 2 | SIGINT,中断(Ctrl+C) |
| 3 | SIGQUIT,退出 |
| 9 | SIGKILL,强制杀死进程 |
| 15 | SIGTERM,软件终止信号,默认值 |
| 17 | SIGCHLD,子进程终止 |
| 19 | SIGSTOP,停止进程 |
| 20 | SIGTSTP,用户定义的信号 |
| 21 | SIGTTOU,后台写入 |
| 22 | SIGTTIN,后台读取 |
| 23 | SIGUSR1,用户定义的信号1 |
| 24 | SIGUSR2,用户定义的信号2 |
| 28 | SIGWINCH,窗口大小改变 |
| 29 | SIGIO,输入/输出可用 |
| 30 | SIGPIPE,管道破裂 |
| 31 | SIGRTMIN,实时信号的最小值 |
| 32 | SIGRTMIN+1 |
| 33 | SIGRTMIN+2 |
| 34 | SIGRTMAX2 |
| 35 | SIGRTMAX1 |
| 36 | SIGRTMAX,实时信号的最大值 |
注意事项
1、避免僵尸进程:在杀死父进程之前,应先杀死其所有子进程,以防止僵尸进程的产生。
2、谨慎使用9选项:使用kill 9 PID会强制杀死进程,但不会进行清理工作,只有在其他信号无效时才使用此选项。

3、检查僵尸进程:通过ps ef确认没有剩余僵尸进程,如果僵尸进程被init收养且占用大量资源,可能需要重启系统。
FAQs
1、问题:如何优雅地结束一个进程?
答案:使用kill l PID命令尝试以启动进程的用户已注销的方式结束进程,这个命令也试图杀死所留下的子进程,但可能不总是成功,有时需要先手工杀死子进程。
2、问题:如何杀死同一进程组内的所有进程?
答案:使用killall命令指定要终止的进程名称,而非PID,要杀死所有名为httpd的进程,可以使用killall httpd。
