Fedora Linux:如何使用 stty(或同等物)绑定键来为应用程序引发 SIGUSR1?

Fedora Linux:如何使用 stty(或同等物)绑定键来为应用程序引发 SIGUSR1?

我正在使用 FC 14,但这可能是一个相当通用的 Linux 问题。

我希望能够在 Linux 终端驱动程序中绑定一个键,该键将导致正在运行的应用程序发出除 或 之外的信号SIGINTSIGQUIT我不想选择其中任何一个。如果它让你想起了什么,请按照旧CTRL/T功能的思路思考,只是信号被应用程序而不是操作系统捕获和处理。

由于这是用于长期运行活动的状态报告,因此SIGUSR1似乎很合适。但是,如果无法从终端键盘上明确提出这一点,我会尽我所能。我不想尝试不可能的事情并抓住SIGKILLB-),但我喜欢能够从终端键盘发出除终端键盘SIGQUIT之外的其他信号。SIGINT

设想:

  1. 设置终端来执行信号提升操作
  2. 在终端窗口从 shell 运行应用程序
  3. 等到它进入复杂的长期运行部分
  4. 按下CTRL/whatzit可发出信号
  5. 应用程序捕获信号,进行某种状态报告,然后恢复

我可以在 VMS/OpenVMS 上毫无问题地做到这一点,但想到在 Linux 上做到这一点更加困难,我就感到有点害怕。

答案1

不幸的是,通过魔法角色发出信号的接口不是通用的绑定角色到信号的东西——有一些特定的信号可以像这样发出,你可以选择角色,但不能选择信号:见POSIX 规范的相关章节

(除了和之外SIGINTSIGQUIT另一个选择是SIGTSTP,如果您可以不用停止您的进程^Z- 我想如果您希望让它在前台运行的话,情况可能就是这样。)

相关内容