LinuxはBashスクリプトの中でファイル記述子の実例をどうやって閉じますか?


LinuxはBashスクリプトの中でファイル記述子の実例をどうやって閉じますか?
Bashスクリプトを書く時に問題が発生しました。このスクリプトはプログラムBを起動するためのものです。このスクリプトは他のプログラムAによって呼び出されました。その結果、新しく起動したBプロセスには多くのAプロセスが開いているファイル記述子(Socketなど)があります。そのため、スクリプトの中でそれらを閉じることにしました。簡単のために、Aプログラムでsystem()を使ってスクリプトを起動しました。
ファイルのディスクリプタを閉じるスクリプトを追加しました。

#!/bin/sh

cd $(dirname "$0") || exit 1

exec 3>&-
exec 4>&-



./rbtunnel "$@" &

#sleep 1

ここのポイントはファイルの説明を閉じるコードです。exec fd>&   はい、exec fd<&-  fdはファイル記述子の数字であり、ファイル記述子はLinuxでlsof-c rbtunnelで見られます。
疑問があれば、メッセージをお願いします。あるいは、当駅のコミュニティで交流して討論してください。ありがとうございます。