Xinetd

systemd:獲取 xinetd 啟動的服務的核心轉儲

  • March 19, 2014

我最近將系統升級到 openSUSE 13.1。我們正在通過 xinetd 在系統上執行定制服務,並且在舊的 xinetd 初始化腳本中,ulimit -c unlimited在啟動 xinetd 之前有一行程式碼來啟用核心轉儲。由於 openSUSE 13.1 使用 systemd,這不再起作用。

systemd-coredumpctl即使有確認崩潰的核心日誌消息,也找不到任何核心轉儲。從 bash 手動啟動服務,然後發送 SIGSEGV 確實會在我們配置的目錄中創建核心轉儲。如何恢復我的核心轉儲?

事實證明 systemd 支持在配置文件中設置限制,這些資訊只是分散在各個手冊頁中。根據systemd.exec,核心轉儲創建/文件大小的限制是使用 LimitCORE 設置的。此外,可以修改單元/服務配置,而無需修改系統提供的配置文件。ArchLinux Wiki中的更多資訊。/etc/systemd/system/xinetd.service.d/core.conf因此創建具有以下內容的文件(和父目錄)

[Service]
LimitCORE=infinity

然後執行

# systemctl daemon-reload
# systemctl restart xinetd

啟動創建核心轉儲所需的更改。

引用自:https://serverfault.com/questions/582871