![如何阻止暂停的作业接收 GUI 交互?](https://linux22.com/image/1054145/%E5%A6%82%E4%BD%95%E9%98%BB%E6%AD%A2%E6%9A%82%E5%81%9C%E7%9A%84%E4%BD%9C%E4%B8%9A%E6%8E%A5%E6%94%B6%20GUI%20%E4%BA%A4%E4%BA%92%EF%BC%9F.png)
CTRL如果您使用+从终端暂停某个进程,则Z该进程的所有内容(包括 UI)都将被暂停。
但是,如果您在暂停期间与 UI 进行交互,则只要您使用取消暂停该过程,交互仍会被捕获并播放,fg
或者bg
有没有办法阻止它捕获或播放捕获的交互?
答案1
如果不修改程序源代码,就无法做到这一点。问题是 X 会缓冲事件,直到程序恢复后才恢复。您需要处理暂停 ( SIGTSTP
) 信号,根据 X11 服务器记录当前时间,然后在恢复后读取事件,并根据事件时间 ( XEvent->XButtonEvent->Time
) 丢弃它们。