GNU 屏幕退出--sigterm 到正在运行的进程

GNU 屏幕退出--sigterm 到正在运行的进程

我想quit筛选会话。为此,我使用screen -S session_name -X quit。这很有效,但不像我会的那样。

正在运行的程序screen有一个处理程序SIGTERM,我确实需要执行此处理程序,以便它可以执行适当的清理。但是,运行screen -S session_name -X quit导致程序退出而不调用其处理程序。

一个简单的kill $(pidof bla) 结果是调用我的处理程序、进行适当的清理,并最终关闭会话screen

但是,我希望能够通过关闭screen其会话名称并让其“转发”SIGTERM信号来停止这一切。

任何帮助都值得感激,谢谢。

答案1

我提出的解决方案是受到 @Kwaio 建议的解决方案的启发。就我而言,我只有一个进程有兴趣接收信号SIGTERM。此进程已将其转发给其子进程。

假设只有一个screen具有给定名称的会话。

kill $(ps h --ppid $(screen -ls | grep session_name | cut -d. -f1) -o pid)

相关内容