supervisorctl:命令未find

作为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文件,但没有find有意义的东西。 请帮忙。

这通常意味着该命令不在EC2用户的PATH上。

如果你在两个bash会话中都echo $PATH ,你仍然可以看到root的path上有/usr/sbin/

为了解决这个问题,你可以通过在.bashrc中添加以下内容来添加到ec2用户的path: export PATH="$PATH:/usr/sbin/"

或者,可执行文件sudo /usr/sbin/supervisorctl的完整path应该可以工作。