亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1688 | 回復(fù): 3
打印 上一主題 下一主題

[Linux] [結(jié)貼]一個(gè)被繼承的fd,是否需要在子進(jìn)程里面也調(diào)用close,才能保證fd的引用計(jì)數(shù)正確 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-03-16 09:48 |只看該作者 |倒序?yàn)g覽
本帖最后由 sepqer 于 2015-03-16 15:59 編輯

例如,我在程序開始的時(shí)候open一個(gè)fd,然后fork。子進(jìn)程繼承了這個(gè)fd。那么父進(jìn)程close這個(gè)fd之后,子進(jìn)程是否也需要再次close這個(gè)fd,才能保證引用計(jì)數(shù)正確呢?
實(shí)驗(yàn)代碼如下:

  1. #include<stdio.h>
  2. #include<fcntl.h>
  3. #include<unistd.h>
  4. #include<sys/types.h>
  5. #include<sys/wait.h>
  6. int main()
  7. {
  8. int fd=open("m.txt",O_CREAT|O_RDWR|S_IWUSR);
  9. pid_t id=fork();
  10. if(id>0)//parent
  11. {
  12.   int status;
  13.   wait(&status);
  14.   write(fd,"world\n",6);
  15. }
  16. else if(id==0)//child
  17. {
  18.   write(fd,"hello",5);
  19. }
  20. close(fd); // 這里是父子進(jìn)程都去close(fd)了
  21. return 0;
  22. }
復(fù)制代碼
謝謝!

求職 : 機(jī)器學(xué)習(xí)
論壇徽章:
79
2015年亞洲杯紀(jì)念徽章
日期:2015-05-06 19:18:572015七夕節(jié)徽章
日期:2015-08-21 11:06:172015亞冠之阿爾納斯?fàn)?日期:2015-09-07 09:30:232015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-10-21 08:26:3915-16賽季CBA聯(lián)賽之浙江
日期:2015-12-30 09:59:1815-16賽季CBA聯(lián)賽之浙江
日期:2016-01-10 12:35:21技術(shù)圖書徽章
日期:2016-01-15 11:07:2015-16賽季CBA聯(lián)賽之新疆
日期:2016-02-24 13:46:0215-16賽季CBA聯(lián)賽之吉林
日期:2016-06-26 01:07:172015-2016NBA季后賽紀(jì)念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16賽季CBA聯(lián)賽之浙江
日期:2017-07-18 13:41:54
2 [報(bào)告]
發(fā)表于 2015-03-16 10:13 |只看該作者
操作系統(tǒng)應(yīng)該會(huì)管理進(jìn)程資源的回收和釋放,
但是好的編程習(xí)慣不應(yīng)該依賴操作系統(tǒng)的行為
所以還是要進(jìn)行顯式釋放資源

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2015-03-16 10:45 |只看該作者
zsszss0000 發(fā)表于 2015-03-16 10:13
操作系統(tǒng)應(yīng)該會(huì)管理進(jìn)程資源的回收和釋放,
但是好的編程習(xí)慣不應(yīng)該依賴操作系統(tǒng)的行為
所以還是要進(jìn)行顯 ...


是需要close兩次吧

求職 : 機(jī)器學(xué)習(xí)
論壇徽章:
79
2015年亞洲杯紀(jì)念徽章
日期:2015-05-06 19:18:572015七夕節(jié)徽章
日期:2015-08-21 11:06:172015亞冠之阿爾納斯?fàn)?日期:2015-09-07 09:30:232015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-10-21 08:26:3915-16賽季CBA聯(lián)賽之浙江
日期:2015-12-30 09:59:1815-16賽季CBA聯(lián)賽之浙江
日期:2016-01-10 12:35:21技術(shù)圖書徽章
日期:2016-01-15 11:07:2015-16賽季CBA聯(lián)賽之新疆
日期:2016-02-24 13:46:0215-16賽季CBA聯(lián)賽之吉林
日期:2016-06-26 01:07:172015-2016NBA季后賽紀(jì)念章
日期:2016-06-28 17:44:45黑曼巴
日期:2016-06-28 17:44:4515-16賽季CBA聯(lián)賽之浙江
日期:2017-07-18 13:41:54
4 [報(bào)告]
發(fā)表于 2015-03-16 11:12 |只看該作者
需要!
fork相當(dāng)于復(fù)制了文件描述符
兩個(gè)進(jìn)程各有一個(gè),所以都需要close
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP