在linux上只要開啟core dump檔案開關,當程式crash時系統生成相應的core檔案。
檢視當前是否已經開啟了此開關
輸入命令:ulimit -c
如果輸出為 0 ,則代表沒有開啟;
如果為unlimited則已經開啟。
開啟coredump[root@localhost ~]
# ulimit -c
0
輸入命令:ulimit -c unlimited
取消coredump
輸入命令:ulimit -c 0
配置自動開啟
通過上面的命令修改後,一般都只是對當前會話起作用,當你下次重新登入後,還是要重新輸入上面的命令。我們可以把通過修改 /etc/profile檔案 來使系統每次自動開啟。在 /etc/profile中新增ulimit -c unlimited。
coredump檔案生成位置
預設位置與可執行程式在同一目錄下,檔名是core.***,其中***是乙個數字。core dump檔名的模式儲存在/proc/sys/kernel/core_pattern中,預設值是core。通過以下命令可以更改core dump檔案的位置(如希望生成到/tmp/cores目錄下);
echo 「/tmp/cores/core」 > /proc/sys/kernel/core_pattern。
Linux系統崩潰後如何生成core dump檔案
產生coredump的條件,首先需要確認當前會話的ulimit c,若為0,則不會產生對應的coredump,需要進行修改和設定。ulimit c unlimited 可以產生coredump且不受大小限制 這種設定僅對當前生效,如果想永久生效,那麼需要在 etc profile中加入以下一行,這將...
linux之訊號產生
使用者在終端按下某些鍵時,終端驅動程式會傳送訊號給前台程序,例如ctrl c產生sigint信 號,ctrl 產生sigquit訊號,ctrl z產生sigtstp訊號。sigint的預設處理動作是終止程序,sigquit的預設處理動作是終止程序並且core dump,首先解釋什麼是core dum...
linux產生隨機數
函式rand 是真正的隨機數生成器,而srand 會設定供rand 使用的隨機數種子。函式rand 會返回乙個處於0和你所指定的數值 缺 省為1 之間的分數。如果你在第一次呼叫rand 之前沒有呼叫srand 那麼系統會為你自動呼叫srand 而使用同種子相同的數呼叫 srand 會導致相同的隨機數...