在your_app.service裡加上
[Service]
LimitCORE=infinity
ExecStartPre=/bin/bash -c 'echo "/home/pi/core.%e.%p" > /proc/sys/kernel/core_pattern'
"/home/pi/core.%e.%p"是指定要產生core檔的目錄和檔名,這會在/home/pi/產生core.your_app_name.your_app_pid,例如core.myapp.3234
如果your_app.service裡 User=pi,不是root
另外建一個setup_core_dump.sh
#!/bin/bash
# 設定 core dump 輸出位置與格式
echo "/home/pi/hs1650t/core.%e.%p" > /proc/sys/kernel/core_pattern
然後
[Service]
# 第一步:以 root 設定 core dump pattern
ExecStartPre=/usr/local/bin/setup_core_dump.sh
# 第二步:以 pi 身分執行應用程式
User=pi
設定完要重開機或重啟服務
然後測試可以直接用
設定完要重開機或重啟服務
然後測試可以直接用
sudo kill -SEGV <your app 的 PID>
就不用特別寫一個會掛掉的程式來測
就不用特別寫一個會掛掉的程式來測
沒有留言:
張貼留言