супервизор завершает работу с помощью ENOEXEC

Я пытаюсь запустить процесс Java с помощью supervisord и получаю:

couldn't exec /var/application/start_tester: ENOEXEC

Содержимое start_tester:

java -Duser.dir=/var/application/ -cp /var/application/application.jar:/var/application/toepoke.jar com.application.Application

Когда я запускаю скрипт из консоли, приложение работает, как и ожидалось. Вот мой конфиг супервайзера

[program:application_tester]
directory=/var/application
command=/var/application/start_tester         ; the program (relative uses PATH, can take args)
log_stdout=true             ; if true, log program stdout (default true)
log_stderr=true             ; if true, log program stderr (def false)
logfile=/var/log/application_tester.log

Когда я запускаю скрипт из консоли, это вывод:

[root@monitor application]# ./start_tester 
20131009 203657: application starting up.
20131009 203657 (33): version 2.2.3

person ipengineer    schedule 10.10.2013    source источник


Ответы (2)


Ваш файл должен быть исполняемым. Так что либо:

  1. Вы должны chmod +x установить исполняемый бит.
  2. Поставьте шебанг в начале файла. Отсутствие этого вызвало ENOEXEC.

or

  1. Измените файл конфигурации на что-то вроде command=sh /var/application/start_tester.
person Joe    schedule 05.11.2013
comment
В моем случае шебанг отсутствовал. - person Gagandeep Singh; 23.01.2017
comment
Спасибо, Гагандип. Шебанг тоже был недостающей строкой для меня. Позвольте мне также добавить, что после включения строки shebang вам нужно снова включить и перезапустить супервизора, чтобы он заработал: sudo systemctl enable supervisor sudo systemctl перезапустить супервизора - person folorunso joseph; 20.06.2018

В большинстве случаев шебанг обычно отсутствует.

  - #!/usr/bin/env bash
  - #!/bin/bash
  - #!/bin/sh
  - #!/bin/sh -

Как только вы добавите shebang в свой файл gunicorn_start (в случае DJANGO), перезапустите супервизор.

sudo systemctl enable supervisor 
sudo systemctl restart supervisor
person Vidor Vistrom    schedule 08.03.2019
comment
я люблю тебя чувак спасибо)) - person Ugur Kazdal; 20.04.2021