[英]How to simulate process/daemon crash on OSX?
如何在OSX
上invoke
/ simulate
process
/ daemon
崩潰,以及接收崩潰報告的結果
/圖書館/日志/ DiagnosticRepors
(例如opendirectoryd_2013-06-11-125032_macmini61.crash
)?
我嘗試使用Activity Monitor強制退出守護進程,但沒有收到任何報告。 我需要崩潰一些系統或第三方進程(不是我自己開發的)。
您可以通過發送“分段違規”信號強制幾乎任何進程崩潰。
示例:查找“opendirectoryd”的進程ID:
$ ps -ef | grep opendirectoryd 0 15 1 0 9:14am ?? 0:01.11 /usr/libexec/opendirectoryd ^-- process id
向進程發送信號:
$ sudo kill -SEGV 15
這將終止進程並導致編寫診斷報告,這可以在“system.log”中進行驗證:
Oct 31 09:17:17 hostname com.apple.launchd[1] (com.apple.opendirectoryd[15]): Job appears to have crashed: Segmentation fault: 11 Oct 31 09:17:20 hostname ReportCrash[420]: Saved crash report for opendirectoryd[15] version ??? (???) to /Library/Logs/DiagnosticReports/opendirectoryd_2013-10-31-091720_localhost.crash
但請注意,故意崩潰系統服務可能會導致嚴重問題(系統不穩定,數據丟失......),因此您應該確切知道自己在做什么。
除非你能找到合法的bug並讓它以這種方式崩潰,否則你不能以一種導致診斷報告的方式外部崩潰一個守護進程。 所有退出強制功能都免於診斷報告,因為它們是外部問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.