【问题标题】:supervisord only runs from root directorysupervisord 仅从根目录运行
【发布时间】:2016-03-24 19:47:49
【问题描述】:

我正在运行 AWS Linux AMI。我使用 easy_install supervisor 安装了 supervisord。安装没有问题。但是,我可以让任何主管程序运行的唯一方法是在根目录中拥有根权限,并且我必须输入,

 # /usr/local/bin/supervisord -v

如果我执行以下操作,

 # cd /usr/local/bin/
 # supervisord -v

它不起作用。怎么回事?

【问题讨论】:

  • 您的 PATH 环境变量是否包含此路径:/usr/local/bin/?检查并编辑/在您的问题中添加echo $PATH 的输出。
  • 不,/usr/local/bin/ 不在 PATH 中。我添加了它,supervisord 命令现在可以在根目录中运行,而无需添加路径。为什么我必须将路径添加到 PATH?当我 cd 到目录时,我希望它可以在没有 PATH 设置的情况下工作。

标签: linux path root supervisord


【解决方案1】:

由于您的 PATH 环境变量不包含 /usr/local/bin/ 路径,因此每当您尝试从当前目录调用 supervisord -d 时,它实际上会尝试在 PATH 变量中提到的所有路径中引用程序,除了你的 cd,/usr/local/bin/。

所以,当您将这个/usr/local/bin/ 添加到PATH 时,现在它可以在/usr/local/bin/ 目录中找到该程序。从那里它引用程序supervisord

因此,实际搜索仅在 PATH 环境变量中提到的位置进行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2011-08-29
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    相关资源
    最近更新 更多