Debian
daemontools:如何找出問題所在?
我正在探索 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 的命名管道損壞時,我遇到了這個問題。