Dear Maintainer,
* What led up to the situation?
The terminal did not close redundant FDs when creating shell process.
* What exactly did you do (or not do) that was effective (or
ineffective)?
* What was the outcome of this action?
The shell process has many unexpected redundant FDs, and those FDs
were inherit from konsole.
* What outcome did you expect instead?
The terminal emulator should not leave any redundant FDs for shell
process.
Today I found my Zsh comes with 157 FDs, in common sense zsh won't
create such large amount open files. Then I tried command
'konsole -e /bin/sleep 10000', even through, the sleep process also
has 100+ FDs that shouldn't exists.
By comparing the FDs' number, those FDs were inherit from konsole.
I thought you may close redundant FDs before creating shell process,
or use CLOEXEC flag.
This is my test output in konsole:
% uname -r
6.1.27.xeon.ll
% ls /proc/self/fd | wc -l
157
% ls /proc/$PPID/fd | wc -l
179
% cat /proc/$PPID/cmdline| tr '\0' ' '
/usr/bin/konsole --new-tab
%