Назад | Перейти на главную страницу

supervisorctl: команда не найдена

как пользователь ec2:

[ec2-user@stg etc]$ sudo supervisorctl status
sudo: supervisorctl: command not found

как корень:

[ec2-user@stg etc]$ sudo su -
Last login: Tue Jun  6 03:02:55 UTC 2017 on pts/1
[root@stg ~]# supervisorctl status
kafka                            BACKOFF   Exited too quickly (process log may have details)
zookeeper                        RUNNING   pid 24697, uptime 0:25:11

Я не могу понять, почему это происходит. Я проверил файл sudoers, но не нашел ничего значимого. Пожалуйста помоги.

Обычно это означает, что команда не указана в PATH пользователя EC2.

Если вы это сделаете echo $PATH в обоих сеансах bash вы все еще видите, что root имеет /usr/sbin/ на их пути.

Чтобы исправить это, вы можете добавить к пути пользователя ec2, добавив следующее в .bashrc: export PATH="$PATH:/usr/sbin/"

В качестве альтернативы полный путь к исполняемому файлу, sudo /usr/sbin/supervisorctl должно сработать.

после перехода назад и вперед было просто, что супервизор использует python 2.6 и не работает с 2.7 на amazon linux ami, по-видимому (rhel fedora) вы можете проверить это,

#python2.6 -c "import supervisor; print('success')"

успех

#python2.7 -c "import supervisor; print('success')"

Traceback (последний вызов последним): файл "", строка 1, в ImportError: нет модуля с именем supervisor

поэтому вам нужно указать системе использовать 2.6 вместо 2.7 - и вы действительно должны убедиться, что это безопасно - вы не хотите, чтобы другие приложения начали портить. (предполагаю, что у вас уже установлены версии 2.6 и .27)

Итак, шаги по исправлению:

сначала запустите эту команду

# sudo update-alternatives --config python

появится меню выберите нужное. #

Есть 2 программы, которые предоставляют «питон».

Selection    Command
-----------------------------------------------
*+ 1           /usr/bin/python2.7
   2           /usr/bin/python2.6

Enter to keep the current selection[+], or type selection number: 2
# 

выберите правильный, и ур готов к работе.

наконец, попробуйте это:

$ sudo /etc/init.d/supervisord start
Starting supervisord:                                      [  OK  ]

задача решена!