I have a simple python script which I want to start a daemon-service in background in docker container
/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'
when I execute this command in a shell I get
/sbin/start-stop-daemon: unable to stat //python /opt/app/uc/monitor/bin/my-application.py (No such file or directory)
However when execute just the below command in shell it works
python /opt/app/uc/monitor/bin/my-application.py
I'm sure the python is installed and all the links have been setup.
Thanks for the help
That error message implies that
start-stop-daemonis looking for a file to open (thestatoperation is a check before it opens the file) and treating your'python ... 'argument as if it was a file.See this example which confirms this. You may need to read the man page for start-stop-daemon, for your Ubuntu version, to check what a valid command would be for your setup.
Simplest solution is probably to create a shell script (say
/opt/app/uc/monitor/bin/run-my-application.sh), and put this into it:Be sure to do
chmod +xon this file. If python is not found, usewhich pythonto find the path topythonand use that in the script.Now try: