Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 使OSX终端在关闭时发送SIGHUP_Macos_Terminal_Signals - Fatal编程技术网

Macos 使OSX终端在关闭时发送SIGHUP

Macos 使OSX终端在关闭时发送SIGHUP,macos,terminal,signals,Macos,Terminal,Signals,我试图调试为什么当我关闭tmux进程所在的终端时,tmux进程仍然认为它们是连接的,我认为我已经发现了部分问题;当我关闭终端窗口(CMD-W或单击左上角的红色小按钮)时,它不会向上发送信号!事实上,它只发送SIGEXIT。我用这个脚本发现了这个。其中一张海报给出的结果与他的OSX机器非常不同,但我的终端似乎不想玩得很好 有人知道如何让OSX中的终端(我运行的是10.7.2)在退出时发送正确的信号吗?谢谢 那个脚本为我显示了SIGHUP和SIGEXIT。你用的是什么外壳?我不知道有什么方法可以防止

我试图调试为什么当我关闭tmux进程所在的终端时,tmux进程仍然认为它们是连接的,我认为我已经发现了部分问题;当我关闭终端窗口(CMD-W或单击左上角的红色小按钮)时,它不会向上发送信号!事实上,它只发送SIGEXIT。我用这个脚本发现了这个。其中一张海报给出的结果与他的OSX机器非常不同,但我的终端似乎不想玩得很好


有人知道如何让OSX中的终端(我运行的是10.7.2)在退出时发送正确的信号吗?谢谢

那个脚本为我显示了SIGHUP和SIGEXIT。你用的是什么外壳?我不知道有什么方法可以防止Bash(默认shell)在终端关闭时接收SIGHUP,除非它以某种方式配置为忽略SIGHUP而不使用
trap
(或者在运行该脚本后,如果有什么东西使用
trap
)。终端关闭pty,/usr/bin/login应向外壳发送SIGHUP;然后终端向外壳发送SIGH信号,等待几秒钟,然后发送SIGKILL。我想如果有几秒钟的延迟,它可能会在收到信号之前杀死Bash。但这不太可能。作为参考,@staticfloat在AskDifferent上问了本质上相同的问题:我在10.7.2的OSX上使用默认的Terminal.app,我已经删除了登录时运行的所有脚本(.profile、.bashrc、/etc/profile、/etc/bashrc),以尝试减少混淆的元素,但结果没有改变。