Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.4.0
-
None
-
None
Description
For example, if we open three ssh connections in a row, the subprocesses will have more and more fd, which is actually not necessary
Most fd's come from the socketpair() of the parent process
# ps aux | grep guacd root 6453 0.0 0.3 522844 14756 pts/0 Sl+ 19:24 0:00 guacd -f -Ldebug root 6457 0.2 0.9 628436 37176 pts/0 Sl 19:24 0:00 guacd -f -Ldebug root 6512 1.8 0.9 483508 38644 pts/0 Sl 19:31 0:00 guacd -f -Ldebug root 6605 0.0 0.0 21540 1084 pts/2 S+ 19:31 0:00 grep --color=auto guacd # cd /proc/6512/fd # ls 0 1 10 11 12 13 14 2 3 4 5 6 7 8 9 # ps aux | grep guacd root 6453 0.0 0.3 678504 14756 pts/0 Sl+ 19:24 0:00 guacd -f -Ldebug root 6457 0.1 0.9 628436 37176 pts/0 Sl 19:24 0:00 guacd -f -Ldebug root 6512 0.2 0.9 483508 38752 pts/0 Sl 19:31 0:00 guacd -f -Ldebug root 6620 5.0 0.9 679600 38748 pts/0 Sl 19:31 0:00 guacd -f -Ldebug root 6713 0.0 0.0 21540 1104 pts/2 S+ 19:31 0:00 grep --color=auto guacd # cd /proc/6620/fd # ls 0 1 10 11 12 13 14 15 16 17 2 3 4 5 6 7 8 9 # ps aux | grep guacd root 6453 0.0 0.3 703092 14756 pts/0 Sl+ 19:24 0:00 guacd -f -Ldebug root 6457 0.1 0.9 628436 37176 pts/0 Sl 19:24 0:00 guacd -f -Ldebug root 6512 0.1 0.9 483508 38752 pts/0 Sl 19:31 0:00 guacd -f -Ldebug root 6620 0.3 0.9 679600 38748 pts/0 Sl 19:31 0:00 guacd -f -Ldebug root 6720 1.2 0.9 761528 38804 pts/0 Sl 19:31 0:00 guacd -f -Ldebug root 6813 0.0 0.0 21540 1148 pts/2 S+ 19:31 0:00 grep --color=auto guacd # cd /proc/6720/fd # ls 0 1 10 11 12 13 14 15 16 17 18 19 2 20 3 4 5 6 7 8 9
This may cause libvncserver to fail using select() if the useless fd is larger than FD_SETSIZE