当前位置: 首页 > 面试题库 >

用上帝监视独角兽-以非零代码= 1开始退出

宋伟泽
2023-03-14
问题内容

我正在编写一个上帝脚本来监视我的独角兽。我从GitHub的示例脚本开始,并一直对其进行修改以匹配我的服务器配置。上帝跑了之后,诸如god stop unicorn和的命令god restart unicorn就可以了。

但是,god start unicorn结果WARN: unicorn start command exited with non-zero code = 1。奇怪的是,如果我直接从配置文件中复制启动脚本,它将像全新的野马一样直接启动。

这是我的启动命令:

/usr/local/bin/unicorn_rails -c /home/my-linux-user/my-rails-app/config/unicorn.rb -E production -D

我已经在配置文件中将所有路径声明为绝对路径。有什么想法可能阻止此脚本工作?


问题答案:

我没有使用独角兽作为应用程序服务器,但之前我一直使用上帝进行监视。

如果我没记错的话,当您启动God并提供配置文件时,它会自动启动您告诉它观看的内容。独角兽可能已经在运行,这就是它引发错误的原因。

god status启动上帝后,运行此命令进行检查。如果不是这种情况,则可以在命令行上检查命令的退出状态是什么:

/usr/local/bin/unicorn_rails -c /home/my-linux-user/my-rails- app/config/unicorn.rb -E production -D; echo $?;

该回显将显示最后一条命令的退出状态。如果为零,则最后一条命令未报告任何错误。尝试连续两次启动独角兽,我希望它第二次返回1,因为它已经在运行。

编辑:

包括评论中的实际解决方案,因为这似乎是一个受欢迎的回应:

如果您的进程需要以特定用户身份运行,则可以设置一个显式用户和组。

God.watch do |w|
  w.uid = 'root'
  w.gid = 'root'

  # remainder of config
end


 类似资料:
  • 我试图在AmazonSageMaker中使用DockerFile构建一个映像,但是我得到了以下错误。 回溯(上次调用): 文件“/usr/bin/pip3”,第9行,从pip导入主导入错误:无法导入名称“main”命令“/bin/sh-c pip3 install--升级pip setuptools wheel 我的DockerFile如下所示

  • 问题内容: Docker命令构建 问题答案: 问题是github.com/tidwall/tile38/client应该是github.com/tidwall/tile38/pkg/client 现在解决了 @Albin谢谢指出。

  • 问题内容: 我最近在使用Firebase deploy命令时遇到问题。在执行firebase deploy命令之后,除了firebase(存储,数据库等)以外,其他所有其他部署也都已部署,因此我决定重新安装firebase来解决这种情况,但是在重新安装后,我的问题变得更大了。现在,没有一个部署以下错误: 经过一些研究,我看到了一些与此相关的主题,这些建议需要更改 在Windows系统中(我正在使用

  • 问题内容: 命令失败,并显示退出代码 我删除了衍生数据。我努力了 : 钥匙串访问->右键单击登录->再次锁定并解锁->清除Xcode项目 重新启动机器,无用 尝试归档项目时如何解决“ ”错误。 我正在使用那些图书馆 问题答案: 去 -> -> -> ->

  • 我得到以下错误,当我建立我的Xamarin。Android应用发布。 这是输出。。。 阅读输出消息ProGuard似乎有问题,有人知道我能做什么吗?

  • 我试图在vscode中调试一个flutter的演示应用程序,错误显示为ADB退出,代码1执行流式安装。我卸载现有的Flutter演示应用程序。