0
我最近開始通過zsh函數包裝我的ssh調用,我注意到現在如果我關閉終端(Mac OS X/iTerm2)與一個有效的ssh進程,ssh進程不會死亡,而是孤立的(PPID = 1)。這隨後會在該ssh連接上提供任何tty應用程序(即屏幕)。關閉一個終端窗口與ssh會話產生的功能孤兒ssh而不是殺死它
我將這個問題縮小到了zsh +函數。這是所有需要重現:
zsh# function foo() { ssh [email protected] }
zsh# foo
--> Close the terminal window (via cmd-w)
zsh# ps ax -o pid,ppid,command | tee >(head -1) | grep -v grep | grep ssh
PID PPID COMMAND
29361 1 ssh [email protected]
zsh# kill 29361
--> everything is OK again.
我已經驗證這是一個問題的zsh,因爲它並不在bash繁殖,我已經驗證它是不是一個SSH問題,因爲它不與任何再現zsh中的命令從函數內部開始。
我已經使用zsh 4.2.x-5.x.x轉載了這個問題。
我不明白觀察到的行爲,但願意。我不確定這是否是預期的或zsh中的錯誤。