嗨我想創建一個系統調用,將計算被調用的叉的數量。我打算改變fork系統調用,以便它有一個計數器來跟蹤fork()被調用的次數。我打算爲fork.h添加一個靜態變量,然後每次fork.c被調用時增加它。我只是不明白fork.c中發生了什麼。這甚至是正確的方法嗎?更改叉()系統調用
4
A
回答
9
Linux內核已經保存了整個系統中叉的總數的計數。
copy_process()
執行的許多工作之一是執行increment the total_forks
counter。
該計數器作爲processes
行/proc/stat
(代碼here)暴露給用戶區。
1
fork
的源代碼可在<linux kernel source tree>/kernel/fork.c
文件中找到。該功能是do_fork
。您可以在返回錯誤的else
語句之前添加您的代碼。請記住,您將不得不編譯並重新啓動這個新內核。
相關問題
- 1. 更改linux內核系統調用號
- 2. 叉(系統調用) - 進程號
- 3. 2個或更多分叉系統調用如何工作?
- 4. 在分叉後執行系統調用中的調度策略
- 5. 系統(「」)調用
- 6. 更改系統日期
- 7. 更改user.home系統屬性
- 8. 更改系統語言C#
- 9. JVM的系統級更改
- 10. 更改系統音量
- 11. 如何更改android系統
- 12. 更改系統的Java
- 13. 更改系統參數
- 14. ASP.NET身份系統更改
- 15. 系統編程 - 叉()方法
- 16. 爲PHP系統()調用修改$ PATH
- 17. 修改exit.c系統調用代碼
- 18. AngularJS:系統日期更改時調用函數
- 19. 在opendir()系統調用後char更改指針
- 20. 使用/ bin/date更改系統時間
- 21. 使用JLGui更改系統音量
- 22. C#禁用系統時間更改
- 23. 叉子系統調用後,底層會發生什麼?
- 24. C系統調用管道,叉子和execl
- 25. 叉高管與易用性系統的()
- 26. 系統調用和系統程序
- 27. MIPS:系統調用
- 28. 調用C「系統」 ++
- 29. Ptracing系統調用
- 30. 調用android系統
您想在系統範圍內執行此操作,還是僅在您自己的程序中執行此操作? – 2011-02-09 23:56:20