AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 743661
Accepted
Gilles Quénot
Gilles Quénot
Asked: 2023-04-22 09:44:35 +0800 CST2023-04-22 09:44:35 +0800 CST 2023-04-22 09:44:35 +0800 CST

如何跟踪“陷阱”中的所有信号?

  • 772

我可以用脚本测试键盘快捷键和一些kill命令并知道捕获了哪个信号吗trap?

shell
  • 1 1 个回答
  • 53 Views

1 个回答

  • Voted
  1. Best Answer
    Gilles Quénot
    2023-04-22T09:44:35+08:002023-04-22T09:44:35+08:00

    使用此脚本,您可以测试所有信号:

    #!/bin/sh
    # Know which signal is caught
    # man 7 signal
    trap "echo 'SIGHUP        1       Term    Hangup (disconnection) or control process termination.'" 1
    trap "echo 'SIGINT        2       Term    Interrupt from keyboard.'" 2
    trap "echo 'SIGQUIT       3       Core    Quit request from keyboard.'" 3
    trap "echo 'SIGILL        4       Core    Illegal instruction.'" 4
    trap "echo 'signal 5 not referenced'" 5
    trap "echo 'SIGABRT       6       Core    Abort signal from abort(3).'" 6
    trap "echo 'signal 7 not referenced'" 7
    trap "echo 'SIGFPE        8       Core    Floating point arithmetic error.'" 8
    trap "echo 'signal 10 not referenced'" 10
    trap "echo 'SIGSEGV      11       Core    Invalid memory reference.'" 11
    trap "echo 'signal 12 not referenced'" 12
    trap "echo 'SIGPIPE      13       Term    Write on a pipe with no reader.'" 13
    trap "echo 'SIGALRM      14       Term    Alarm clock signal (used by alarm(2)).'" 14
    trap "echo 'SIGTERM      15       Term    Termination signal.'" 15
    trap "echo 'SIGUSR1   30,10,16    Term    User-defined signal 1.'" 30 10 16
    trap "echo 'SIGUSR2   31,12,17    Term    User-defined signal 2.'" 31 12 17
    trap "echo 'SIGCHLD   20,17,18    Ign     Child stopped or terminated.'" 20 17 18
    trap "echo 'SIGCONT   19,18,25    Cont    Continue if stopped.'" 19 18 25
    trap "echo 'SIGTSTP   18,20,24    Stop    Stop signal generated from keyboard.'" 18 20 24
    trap "echo 'SIGTTIN   21,21,26    Stop    Background process attempting to read from tty.'" 21 21 26
    trap "echo 'SIGTTOU   22,22,27    Stop    Background process attempting to write to tty.'" 22 22 27
    trap "echo 'SIGWINCH  28,28,20    Ign     Window resize signal (4.3 BSD, Sun).'" 28 20
    read _
    

    信号SIGKILL和SIGSTOP不能被捕获、阻止或忽略。( 9, 19)。

    见man 7 signal

    和http://mywiki.wooledge.org/SignalTrap


    为避免复制/粘贴:

    wget -O signal-finder.sh https://gist.githubusercontent.com/sputnick-dev/7260ac0aa46f067f469ee8184b69acb3/raw/4286bcda6d3353aad7584ab320048af4d8bfa197/gistfile1.txt
    chmod +x signal-finder.sh
    ./signal-finder.sh
    
    • 2

相关问题

  • 这个命令是如何工作的?mkfifo /tmp/f; 猫/tmp/f | /bin/sh -i 2>&1 | 数控 -l 1234 > /tmp/f

  • FreeBSD 的 sh:列出函数

  • 有没有办法让 ls 只显示某些目录的隐藏文件?

  • grep -v grep 有什么作用

  • 如何将带有〜的路径保存到变量中?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve