使用 sysctl 了解 init 腳本錯誤

使用 sysctl 了解 init 腳本錯誤

我製作了自己的初始化腳本,用於在mod-mono-server2容器內啟動 Mono Web 應用程式(我沒有使用AutoHosting,我知道)。

當我使用 openSUSE 11.4 時,init我能夠在控制台上準確地讀取出了什麼問題。現在我必須將我的應用程式遷移到運行 openSUSE 12.1 的伺服器,該伺服器使用systemctl,並且找出它無法啟動的原因是一團糟。

啟動命令只是一個典型的sudo -u mono-user mod-mono-server2 [params]將PID寫入檔案中/var/run/spambusters/(當我想停止時殺死它)。當我嘗試這樣做時,/etc/init.d/spambusters start我只是得到一個通用的Job failed. See system logs and 'systemctl status' for details..

但我無法獲得更多資訊............

spambusters@dom:~/source> sudo systemctl status spambusters.service
spambusters.service - LSB: Spambusters instance (as spambusters)
      Loaded: loaded (/etc/init.d/spambusters)
      Active: failed since Fri, 07 Sep 2012 20:37:56 +0200; 1min 37s ago
     Process: 29731 ExecStart=/etc/init.d/spambusters start (code=exited, status=1/FAILURE)
      CGroup: name=systemd:/system/spambusters.service
          â”” 29744 sudo -u spambusters /usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applicat...
spambusters@dom:~/so

系統日誌/var/log/messages僅包含

Sep  7 20:37:56 dom sudo:     root : TTY=console ; PWD=/ ; USER=spambusters ; COMMAND=/usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applications /:/home/spambusters/srv/www/domains/www.burnthespam.info/htdocs

雖然我知道這個問題也可能適合 serverfault.com 因為涉及伺服器管理,我直接的問題是

當根進程是 systemctl 而不是 init 時,如何找到有關 init 腳本失敗的更多資訊?

答案1

如果作業系統使用systemd-journald,

journalctl -a _SYSTEMD_UNIT=spambusters.service

(最新的 systemd 版本在 中顯示相同的內容systemctl status,但 OpenSuSE 有一個較舊的版本。)


也,不使用sudo如果您只想讓它以不同的用戶身份運行。使用User=spambusters反而。

相關內容