我試圖瞭解這些標誌做什麼,我已經閱讀了描述並做了一些Google搜索,但我不知道如何測試這些標誌設置時子級和父級進程之間的差異。我可以運行哪些C函數或linux命令來幫助我查看這些標誌的影響?如何在C中測試CLONE_VM,CLONE_FS和CLONE_IO的影響?
2
A
回答
0
CLONE_FS
的一個很好的例子在我看來是一個替代答案:「爲什麼cd
必須是內置的shell?」
通常當你運行一個進程時,他們只會共享某些信息,最顯着的是打開的文件描述符,但不是像「當前文件系統」那樣的東西。
這意味着,當cd
作爲一個過程來實現調用chdir()
會:
- 內開始一個新的進程
- 是執行過程
chdir()
和是過程改變了目錄 該進程結束並將控制權返回給已在目錄中的父進程
CLONE_FS(自Linux 2.0起) 如果設置了CLONE_FS,則調用方和子進程共享相同的文件系統信息。這包括 文件系統的根目錄,當前工作目錄和umask。由 調用進程或子進程調用chroot(2),chdir(2)或umask(2)的任何 也會影響其他 進程。
現在想象你有CLONE_FS
集。請注意:「這包括...當前工作目錄...」。這意味着對chdir()
的調用不僅會影響當前正在運行的進程,還會影響當前名稱空間中的進程。
所有我的描述是非常概括段落的最後一句:
如果沒有設置CLONE_FS,...調用執行chroot(2),CHDIR(2),或的umask( 2)後來由 之一執行的進程不影響其他進程。
+0
另外:這就是我所說的滯後:) – serverhorror
相關問題
- 1. 測試影響分析和Ms構建只執行受影響的測試
- 2. 如何影響Azure C#中的GetSubscription()和SubscriptionExists()的重試策略#
- 3. TFS構建和測試影響
- 4. JUnit測試互相影響
- 5. tfs中的測試影響分析2012
- 6. C++類中冗餘測試函數的影響
- 7. 測試對代碼更改的影響
- 8. 如何處理影響其他測試的全局對象/測試
- 9. Klout中的影響者和影響力
- 10. 懶惰如何影響Haskell的基準測試?
- 11. 我的測試如何不影響數據庫...?
- 12. 如何測試android庫會影響應用程序的性能?
- 13. 如何在Linux上使用CLONE_VM與CLONE_SETTLS
- 14. USB調試是否會影響測試過程中的性能
- 15. TFS 2013只執行影響測試
- 16. 什麼是最影響jsperf測試?
- 17. 不要影響數據庫測試
- 18. VS2010「沒有測試受到影響」
- 19. 在單元測試中使用語句的性能影響
- 20. http網頁請求和響應在c#中的單元測試
- 21. 在CodeIgniter中設置測試項單元測試不影響報告輸出
- 22. 如何防止Play商店測試影響Firebase Analytics
- 23. 自定義模型綁定器如何影響測試?
- 24. 如何測試Symfony2中的響應頭?
- 25. 影響 - Objective-C的
- 26. 方法的名稱如何影響robotium中測試用例的執行?
- 27. 如何在postman測試用例中比較響應和值
- 28. 低影響端到端數據庫連接和查詢測試
- 29. 如何測試API請求和響應與C#中的swagger定義匹配
- 30. TFS如何使用「影響」和「受影響者」鏈接類型?
你在這裏想了解什麼? 'clone()'在容器和線程庫的實現之外幾乎沒有用處。 – duskwuff
我正在使用CLONE並瞭解進程的名稱空間等。我已經能夠測試在子進程上設置其他標誌的效果,但是當我設置這些標誌時,我不知道如何看到父進程和子進程之間的差異。因此,例如當我使用CLONE_IO時,使用相同的IO上下文運行兩個進程的效果可見度如何?我試圖使用mount()來測試CLONE_FS,但我不確定我是否正確使用它。我要麼用C測試它們,要麼產生一個Linux shell並從終端測試它們。 – Connor