我有一個用於管理Erlang守護進程的python腳本。一旦系統初始化,通過shell使用時一切正常。Erlang:守護進程的'init.d'腳本無法啓動
現在,當我列入「/etc/init.d中」下,並在「/etc/rcX.d」正確設置符號鏈接相同的腳本中,Python腳本仍然工作但我二郎後臺駐留程序無法開始並沒有留下可辨別的痕跡(例如crash_dump,dmesg等)
我也嘗試通過'erl -env HOME/root'設置環境變量「HOME」,但仍然沒有運氣。
任何線索?
我有一個用於管理Erlang守護進程的python腳本。一旦系統初始化,通過shell使用時一切正常。Erlang:守護進程的'init.d'腳本無法啓動
現在,當我列入「/etc/init.d中」下,並在「/etc/rcX.d」正確設置符號鏈接相同的腳本中,Python腳本仍然工作但我二郎後臺駐留程序無法開始並沒有留下可辨別的痕跡(例如crash_dump,dmesg等)
我也嘗試通過'erl -env HOME/root'設置環境變量「HOME」,但仍然沒有運氣。
任何線索?
要手動運行該腳本以同樣的方式系統進行操作,使用service daemon start
如果有命令,否則儘量
cd/
env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" /etc/init.d/daemon start
這迫使腳本與已知的,最小的環境,就像它會跑在啓動時。
感謝您的回答 - 我有一段時間開始啓動rabbitmq的「Alice」RESTful界面。關鍵是在我的init腳本中使用'env HOME =/root/path/to/alice/startup/script'。
大提示!太感謝了! 我能夠在瞬間診斷問題。 看來'erl -env HOME/root'不足以爲erl設置環境。必須爲erl本身設置環境變量「HOME」,即使用subprocess.Popen()在python腳本中設置環境變量「HOME」,必須使用參數'env'來設置完整的環境。 – jldupont 2009-09-14 13:59:32