[Solved]-Supervisorctl always reports error: ERROR (no such file)

8👍

On your command= line, you’ve specified the program to run as -E, which supervisor can’t find to execute.

When creating a file for the job, the command line should be executable as a shell command, and should not rely on internal commands for a given shell. For example, I had trouble with one that started with:

source /path/to/python/virtual/environment/bin/activate && ...

but source is a bash builtin. I needed to change it to read:

bash -c 'source /path/to/python/virtual/environment/bin/activate && ...

This way, the executable file that supervisor can find and run is bash.

In your case, it appears uwsgi should be the first thing after command=.

You mentioned that you’re using the -E flag to preserve environment variables when you run sudo, but supervisor won’t need sudo

2👍

I ran into this error message, but in my case it turned out I’d specified a user in my job definition that hadn’t been created on the server.

[program:my-task]
user=this-user-didnt-exist

1👍

In my case, the problem was that I had command="/bin/python3.8 main.py" in my conf.d/mysite.conf file.

When i removed the "", it worked.

👤Alex

0👍

I had this problem as well trying to run a shell script via supervisord, you need to use /bin/sh myscript.sh:

command=/bin/sh myscript.sh

Leave a comment