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, но не нашел что-то значимое. Пожалуйста помоги.

2 ответа

Обычно это означает, что команда отсутствует в 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  ]

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

Другие вопросы по тегам