2016-12-14 67 views
0

我有我想在背景中泊塢窗容器啓動一個後臺程序服務的一個簡單的Python腳本sbin目錄/啓動停止守護進程無法啓動蟒蛇 - Ubuntu的搬運工集裝箱

/sbin/start-stop-daemon --start --user root --make-pidfile --pidfile /var/lock/subsys/my-application.pid --exec 'python /opt/app/uc/monitor/bin/my-application.py' 

當我執行這個命令在shell我得到

/sbin/start-stop-daemon: unable to stat //python /opt/app/uc/monitor/bin/my-application.py (No such file or directory) 

然而,當在外殼只執行下面的命令,它的工作原理

python /opt/app/uc/monitor/bin/my-application.py 

我確定安裝了python,並且所有鏈接都已經安裝。

感謝您的幫助

+0

碼頭工人是不是虛擬機。沒有暴發戶,因此沒有啓動守護進程。如果必須,請檢查runit或supervisor。或者你可以堅持一個過程/一個容器的「最佳實踐」。 – user2105103

+0

我想到並創建了一個啓動腳本... – Manjesh

回答

1

該錯誤消息意味着start-stop-daemon正在尋找一個文件打開(STAT是檢查它打開文件前)和治療您的'python ... '說法,如果它是一個文件。

請參閱this example這證實了這一點。您可能需要閱讀您的Ubuntu版本man page for start-stop-daemon,以檢查您的設置有效的命令。

簡單的解決方案可能是創建一個shell腳本(比如/opt/app/uc/monitor/bin/run-my-application.sh),並把這個進去:

#!/bin/bash 
python /opt/app/uc/monitor/bin/my-application.py 

一定要對這個文件做chmod +x。如果未找到python,請使用which python查找到python的路徑並在腳本中使用該路徑。

現在試試:

/sbin/start-stop-daemon --start --user root --make-pidfile --pidfile /var/lock/subsys/my-application.pid --exec '/opt/app/uc/monitor/bin/run-my-application.sh' 
相關問題