歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

在Bash腳本中怎麼關閉文件描述符

在Bash腳本中怎麼關閉文件描述符   今晚在寫一個Bash腳本的時候碰到一個問題,這個腳本是用來 啟動一個程序B的,而這個腳本又被另一個程序A調用,結果發現 新啟動的B進程中有很多A進程打開的文件描述符(如Socket)。   因此決定在腳本中將它們關閉,因為為了簡單起見,我在A程序中 使用了system()來啟動該腳本。增加了關閉文件描述符的腳本如下:   www.2cto.com   #!/bin/sh   cd $(dirname "$0") || exit 1   exec 3>&- exec 4>&-   ./rbtunnel "$@" &   #sleep 1   這裡的關鍵點就是關閉文件描述的代碼:exec fd>&-   也可以是: exec fd<&-  其中fd為文件描述符的數字,而文件描述符在Linux下 可以通過lsof -c rbtunnel來查看。  
Copyright © Linux教程網 All Rights Reserved