21
A
回答
7
ptrace()
的細節是OS特有的。
在Linux上,孩子可能會要求其父母跟蹤ptrace(PTRACE_TRACEME, ...)
;但是,或者,一個進程可能會自己附加到另一個進程ptrace(PTRACE_ATTACH, ...)
。
請參閱Linux ptrace(2)
man page(如果您確實需要詳細信息,請參閱strace
source以及內核源代碼,從kernel/ptrace.c
開始)。
26
strace -p <PID>
---->附加進程到strace。 「-p」選項是PID的過程。
strace -e trace=read,write -p <PID>
- >由此,您還可以跟蹤事件的進程/程序,如讀取和寫入(在此示例中)。所以在這裏它將打印所有這些事件,包括進程讀寫系統調用。
其它此類實例
-e trace= network (Trace all the network related system calls.)
-e trace=signal (Trace all signal related system calls.)
-e trace=ipc (Trace all IPC related system calls.)
-e trace=desc (Trace all file descriptor related system calls.)
-e trace=memory (Trace all memory mapping related system calls.)
等等..
跟蹤是的,你可以用-e選項使用許多選項之一。
按Ctrl-C通過strace進行abbort跟蹤。
檢查HELP通過詳細信息輸入strace -h
和人頁節小結上strace的。
注意:被跟蹤的過程運行緩慢。
相關問題
- 1. Java守護進程並連接到已經運行的實例
- 2. 的WriteLine到已經運行的進程
- 3. 如何在連接到進程時退出strace?
- 4. Erlang - 連接到已經運行的外部程序?
- 5. 監視已經運行的進程
- 6. 如何把一個已經運行的子進程下的nohup
- 7. 腳本調試程序無法連接到目標進程。 Adebugger已經連接
- 8. 如何知道連接是否已經進行
- 9. 如何調試你已經連接到的進程引用的dll
- 10. 從已經運行的進程中創建子進程對象
- 11. 是否可以附加到已經運行的gdb進程?
- 12. 在linux下Qt如何檢測進程已經在運行?
- 13. 如何知道進程已經運行了多長時間?
- 14. 你如何獲得一個進程已經運行了多久?
- 15. 如何連接到進程
- 16. Dropzone.js已經連接
- 17. 無法對正在運行的JBoss進程執行「strace -p」
- 18. 如何在連接到Visual Studio 2008中已經運行的程序時找到PDB文件?
- 19. 運行配置 - 無法連接到運行時進程
- 20. 如何將java類與已運行的守護程序連接
- 21. Java kill程序如果已經運行
- 22. 如何在陰影根已經連接
- 23. 檢查如果PHP進程已經運行
- 24. 如果進程已經運行,終止bash腳本
- 25. Null異常如果進程已經在運行
- 26. 如果我已經連接到服務器。那麼我如何顯示異常說它已經連接
- 27. 長時間運行的進程調試。 Strace,brk
- 28. 如何使用strace跟蹤子進程?
- 29. 改變已經運行的進程的信號配置(SIGHUP)
- 30. linux:獲取已經運行的進程的umask?