日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

fcntl设置FD_CLOEXEC

發布時間:2024/3/13 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fcntl设置FD_CLOEXEC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:http://hi.baidu.com/passerryan/item/d81eac1671ce3d5cf0090e2b


這是fcntl的一個Flag標志。

fcntl(fd, F_SETFD, FD_CLOEXEC);

// 這里設置為FD_CLOEXEC表示當程序執行exec函數時本fd將被系統自動關閉,表示不傳遞給exec創建的新進程, 如果設置為fcntl(fd, F_SETFD, 0);那么本fd將保持打開狀態復制到exec創建的新進程中

FD_CLOEXEC用來設置文件的close-on-exec狀態標準。在exec()調用后,close-on-exec標志為0的情況,此文件不被關閉。非零則在exec()后被關閉。默認close-on-exec狀態為0,需要通過FD_CLOEXEC設置

---------------------------------------------------------------------------------------------------------------

int flags;
int dummy = 0;
if ((flags = fcntl(fd, F_GETFL, dummy)) < 0){
??? debug(50, 0) ("FD %d: fcntlF_GETFL: %s\n", fd, xstrerror());
??? return;
}
if (fcntl(fd, F_SETFD,?flags | FD_CLOEXEC) <0)
?? debug(50, 0) ("FD %d: setclose-on-exec failed: %s\n", fd, xstrerror());

---------------------------------------------------------------------------------------------------------------

fcntl(文件描述詞操作)

相關函數

open,flock

表頭文件

#include<unistd.h>
#include<fcntl.h>

定義函數

int fcntl(int fd , int cmd);
int fcntl(int fd,int cmd,long arg);
int fcntl(int fd,int cmd,struct flock * lock);

函數說明

fcntl()用來操作文件描述詞的一些特性。參數fd代表欲設置的文件描述詞,參數cmd代表欲操作的指令。
有以下幾種情況:
F_DUPFD用來查找大于或等于參數arg的最小且仍未使用的文件描述詞,并且復制參數fd的文件描述詞。執行成功則返回新復制的文件描述詞。請參考dup2()。F_GETFD取得close-on-exec旗標。若此旗標的FD_CLOEXEC位為0,代表在調用exec()相關函數時文件將不會關閉。
F_SETFD 設置close-on-exec 旗標。該旗標以參數arg 的FD_CLOEXEC位決定。
F_GETFL 取得文件描述詞狀態旗標,此旗標為open()的參數flags。
F_SETFL設置文件描述詞狀態旗標,參數arg為新旗標,但只允許O_APPEND、O_NONBLOCK和O_ASYNC位的改變,其他位的改變將不受影響。
F_GETLK 取得文件鎖定的狀態。
F_SETLK 設置文件鎖定的狀態。此時flcok 結構的l_type值必須是F_RDLCK、F_WRLCK或F_UNLCK。如果無法建立鎖定,則返回-1,錯誤代碼為EACCES或EAGAIN。
F_SETLKW F_SETLK作用相同,但是無法建立鎖定時,此調用會一直等到鎖定動作成功為止。若在等待鎖定的過程中被信號中斷時,會立即返回-1,錯誤代碼為EINTR。參數lock指針為flock結構指針,定義如下
struct flcok
{
short int l_type;
short int l_whence;
off_t l_start;
off_t l_len;
pid_t l_pid;
};
l_type 有三種狀態:
F_RDLCK 建立一個供讀取用的鎖定
F_WRLCK 建立一個供寫入用的鎖定
F_UNLCK 刪除之前建立的鎖定
l_whence 也有三種方式:
SEEK_SET 以文件開頭為鎖定的起始位置。
SEEK_CUR 以目前文件讀寫位置為鎖定的起始位置
SEEK_END 以文件結尾為鎖定的起始位置。

返回值

成功則返回0,若有錯誤則返回-1,錯誤原因存于errno.

總結

以上是生活随笔為你收集整理的fcntl设置FD_CLOEXEC的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 韩日黄色 | 夜夜嗨av禁果av粉嫩avhd | 91岛国| 成人久色 | 亚洲色婷婷一区二区三区 | 人妻一区二区三 | 免费视频日韩 | 午夜激情毛片 | 97色在线观看 | ass日本粉嫩pics珍品 | 日日夜精品 | 亚洲一级特黄 | 乳罩脱了喂男人吃奶视频 | 国产精品无码AV | 一本一道久久a久久综合蜜桃 | 日本一区高清 | 狠狠干伊人 | 亚洲精品一区二区三区区别 | 欧美天天爽 | 色综合自拍 | 又粗又大又硬毛片免费看 | 免费无码毛片一区二三区 | 一区二区三区四区高清视频 | 国产精品第13页 | 高柳家在线观看 | 欧美性动态图 | 欧洲三级视频 | 久久少妇av | 亚洲成人18 | 超污视频在线观看 | 久草福利资源 | 国产高清在线 | 成人片免费看 | 亚洲一区二区伦理 | 91精品国产91久久久久久吃药 | 日日碰狠狠躁久久躁蜜桃 | 久久精品国产熟女亚洲AV麻豆 | 夜夜夜网| 亚洲综合在 | 成人激情视频在线播放 | 欧美偷拍少妇精品一区 | 天堂√在线 | 国产精品人八做人人女人a级刘 | av一二三四 | 中文字幕乱码人妻无码久久95 | 91亚洲精品一区 | 欧美狠狠操 | 国产色播av在线 | 日本涩涩网站 | 亚洲一区二区三区四 | 伊人影院在线视频 | 97精品国产97久久久久久春色 | a天堂视频 | 小柔好湿好紧太爽了国产网址 | 欧美一区,二区 | 欧美日韩精品电影 | 69性视频| 久久久久久久久久一区 | 久久久久久av | 91丨porny丨国产 | 日韩精品一区二区三区国语自制 | 韩日午夜在线资源一区二区 | 亚洲精品一区二区三区蜜桃久 | 北岛玲av| 国产 一二三四五六 | 婷婷在线网 | 17草在线| 亚洲欧美激情精品一区二区 | 99久久99久久免费精品蜜臀 | 国产盗摄视频在线观看 | 手机版av| 精品国产av无码一区二区三区 | 视频一区在线免费观看 | 国产网站精品 | 91国模少妇一区二区三区 | 欧美h视频在线观看 | 国产日韩在线播放 | 中文字幕精品视频在线 | 波多野结衣理论片 | 欧美日韩国产电影 | 成人免费在线播放视频 | 成人做爰www看视频软件 | 99久久亚洲精品日本无码 | 国产经典一区二区 | 亚洲一区自拍 | 龚玥菲三级露全乳视频 | 日韩一区二区毛片 | 久久国产精品精品国产色婷婷 | 日韩激情床戏 | 国产suv精品一区二区三区 | 久久艹精品 | 少妇被躁爽到高潮无码文 | 午夜天堂 | 国产精品av一区 | 色网站免费在线观看 | 永久免费在线看片 | 中文字幕影片免费在线观看 | 神马影院午夜伦理片 | 亚洲一区二区三区激情 |