kill 命令杀死父进程和所有子进程

当一个进程有很多个子进程时: ps -ef | grep nginx


使用kill -TERM 8771 命令可以杀死所有的进程


在类Unix操作系统中,`kill` 命令通常用于向进程发送信号。使用 `kill` 命令杀死一个进程并不总是直接终止进程,而是发送一个信号给进程,让进程有机会执行清理操作。通常情况下,`kill` 命令发送的是终止信号 `SIGTERM`(信号编号15),但也可以发送其他信号,如 `SIGKILL`(信号编号9)。 当一个进程被 `kill` 命令杀死时,它并不会影响到它的子进程,这是由操作系统的行为决定的。原因如下: 1. **进程组和会话概念**:在类Unix系统中,进程可以组织成进程组和会话。当进程结束时,默认情况下,它的子进程并不会随之结束,而是会成为孤儿进程并被 `init` 进程(或系统中的其他子进程接管进程)接管。`init` 进程会继续负责这些孤儿进程的资源清理。 2. **信号传播**:进程接收到 `SIGKILL` 信号时,它通常不会将这个信号传递给子进程,除非特别指定了这样做。这意味着,即使进程被强制终止,其子进程依然可以继续运行,除非进程是通过发送 `SIGKILL` 信号强制终止的,这种情况下的行为依赖于系统的实现。 3. **孤儿进程处理**:在大多数系统中,当一个进程成为孤儿进程时(即它的进程先于它结束),它会被 `init` 进程接管。`init` 进程负责等待这些孤儿进程结束,并执行相应的资源回收工作。 要杀死子进程,需要单独向这些子进程发送信号。例如,可以使用 `ps` 命令找到子进程的PID,然后使用 `kill -SIGKILL <子进程PID>` 来强制终止子进程
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值