You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Supervisor启动失败:无法切换目录ENOENT错误求助

问题排查与解决:Supervisor无法切换目录(ENOENT错误)

问题根源

Supervisor不支持解析路径中的~(波浪号)。~是Shell的特殊字符,用来指代当前用户的家目录,但Supervisor不会调用Shell去展开这个符号,它会把~/MyProjects/PhoneNumbers_Sender/当作字面路径去查找,自然找不到对应目录,从而抛出ENOENT(文件/目录不存在)错误。

解决方案

  1. 替换路径为绝对路径
    把配置文件中的波浪号路径替换为rafail用户家目录的绝对路径,示例如下:

    [program:phone_sender]                                                      
    directory=/home/rafail/MyProjects/PhoneNumbers_Sender/
    command=bash start.sh
    user=rafail
    autostart=true
    autorestart=true
    startsecs=0
    stderr_logfile=/home/rafail/phone_stderr.log
    stdout_logfile=/home/rafail/phone_stdout.log
    

    你可以通过执行echo ~rafail命令,确认rafail用户的家目录绝对路径。

  2. 重新加载配置并启动进程
    修改配置后,执行以下命令让Supervisor生效:

    supervisorctl reread
    supervisorctl update
    supervisorctl start phone_sender
    

额外验证步骤

  • 手动进入绝对路径目录,确认目录存在:cd /home/rafail/MyProjects/PhoneNumbers_Sender/
  • 确认start.sh文件存在且有执行权限:ls -l start.sh,如果权限不足,执行chmod +x start.sh添加执行权限

内容的提问来源于stack exchange,提问作者rafailmdzdv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 11:36:14