gpt4 book ai didi

linux - 为什么我在 bash 中的 kill -9 命令上没有收到 SIGKILL 信号?

转载 作者:IT王子 更新时间:2023-10-29 00:18:09 35 4
gpt4 key购买 nike

在 bash 脚本中,我按如下方式处理不同的信号:

#!/bin/bash

sighdl ()
{
echo "signal caught"
#do something
exit 0
}

trap sighdl SIGKILL SIGINT SIGTERM

以上代码为以下事件正确处理信号:

  1. Ctrl+C
  2. kill pid
  3. pkill 脚本名

对于kill -9 pid,它不会调用sighdl。根据我的理解(如果我没记错的话)kill -9 发送 SIGKILL 信号。

有什么想法吗?

最佳答案

你不能那样做。是的,9 是 SIGKILL,出于安全原因,Unix 系统设计不允许任何脚本/程序捕获 SIGKILL。否则,任何脚本都可以捕获并忽略 SIGKILL,这将使操作系统无法终止该脚本。

关于linux - 为什么我在 bash 中的 kill -9 命令上没有收到 SIGKILL 信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22807714/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com