1、我們知道linux上可以使用ps -eo pid,lstart 命令查看進程詳細啟動時間,我們來看看系統是如何實現的
2、首先看看ps是基於什麼實現的 gdb ps ,可以看到我的系統是基於procps-ng-3.3.10實現的ps
3、下載源碼,用靜態庫生成,這樣gdb 起來稍微方便點 ./configure --enable-shared=no --enable-static=yes --exec-prefix=/home/zulu , make install; 生成的ps 在這裡
4、設置斷點gdb ps, 設置斷點 b pr_lstart ;運行 r -eo pid,lstart
5、ps 進程信息是從 /proc/“進程pid”/stat 文件讀取的, 慢慢跟蹤看stat文件內容細節, 玩的開心....
閱讀更多 不爭而善勝 的文章