Debian

daemontools:如何找出問題所在?

  • May 1, 2016

我正在探索 daemontools 來執行我們的一些應用程序,這些應用程序也會生成一些輸出(在 stdout 和 stderr 上)。

我在 debian 機器上安裝了 daemontools。每次,我做一個svc -u /etc/service/myservice啟動服務,我得到一個[defunct]程序。我該如何去調試這個問題。

以下是我的/etc/service/myservice/run

#!/bin/bash
exec myservice -c /etc/myservice/myservice.conf

/etc/service/myservice/log/run

#!/bin/sh
exec multilog t ./main

任何幫助將不勝感激。謝謝。

您可以使用ps -aux | grep readproctitle.

一些調試構想:

  • myserver不在PATH。考慮指定程序的完整路徑。
  • myserver分叉到後台:使用 daemontools 啟動的服務明確禁止這樣做。
  • 權限:仔細檢查目錄和run腳本的權限。

我遇到了同樣的問題。當沒有其他工作時,這對我有用:

  • 通過 查找 svscanboot 的 pid ps auxf。你會看到它啟動了 svscan 來監控所有的服務。
  • kill -9 -pid.

svscanboot 將自動啟動,svscan 下的所有服務也將自動啟動。

當機器上沒有剩餘磁碟空間時,當 svcan 的命名管道損壞時,我遇到了這個問題。

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