小弟Linux菜鳥一枚,課題需要,要在Linux內核中使用盡可能多的途徑獲取所有的進程,只要獲取所有進程的名稱和pid即可,目前已實現了兩種獲取方式,一是從連接task_struct結構的雙向鏈表獲取;二是遍歷進程的家族樹獲取。不知道還能不能從其它途徑收集進程信息,我有個想法是訪問進程的運行隊列和等待隊列來獲取所有進程信息,但具體實現不知如何下手,不知道該方案是否可行,或者有沒有其它方法,請高手們支支招,歡迎討論。說明:只能從內核中獲取,調用ps等方式不算。
6 个解决方案
ps, top 還有/proc目錄下會有進程的信息,你可以ls /proc看看
求連接task_struct結構的雙向鏈表獲取代碼