【问题标题】:Geddy CLI closes on SSH dropGeddy CLI 在 SSH 删除时关闭
【发布时间】:2017-08-01 14:03:25
【问题描述】:

在远程 CentOS VM Geddy 应用程序中部署了 MonogoDB 包装器。执行以下命令时,应用程序启动并侦听端口 80。

 geddy -e production &

此 CLI 命令中的问题是,当与 VM 的 SSH 连接断开时,进程会自动关闭。要使应用程序正常工作,SSH 需要始终打开,这是不可能的。有没有其他方法可以让它作为后台服务运行。

【问题讨论】:

  • 负面标记是否需要任何额外信息?
  • daemon 计算机程序在Unix 环境中的一般介绍:en.wikipedia.org/wiki/Daemon_%28computing%29#Unix-like_systems 您有以下选项:使用操作系统基础架构运行services。将您的项目与services' infrastructure. For example Ubuntu have the service` 命令集成,您可以执行“service MYPROG start”、“service MYPROG stop”等。其他可能性是nohupGNU screen (linode.com/docs/networking/ssh/…)
  • 但是您将需要额外的自定义脚本与nohupGNU screen 以确保您的应用程序将在操作系统重新启动时启动。
  • 当前问题不在重启时,这在关闭 ssh 连接时。甚至“nohup”命令也没有帮助。

标签: node.js linux ssh geddy


【解决方案1】:

发生这种情况是因为当它们的控制终端(SSH 连接)关闭时,仅后台进程将收到SIGHUP 信号。

防止这种情况的传统方法是使用nohup 实用程序:

nohup geddy -e production &

或者,您可以使用终端多路复用器,如 screentmux 来创建持久终端会话(在您注销时保持活动状态,并且可以在您稍后再次登录时重新连接)。

【讨论】:

  • 试过但没有帮助:(。一旦 ssh 关闭,它就会关闭应用程序。
  • @arvind 是否会在 nohup.out 中留下任何线索,可能指向它无法正常工作的原因?
  • nohup geddy -e production &> /dev/null < /dev/null &!
  • 不能罚款nohup.out
  • @arvindwill 如果您将 stdout/stderr 重定向到 /dev/null,nohup 将不会记录任何内容。如果您忽略&> /dev/null,则应创建文件(并将包含写入 stdout/stderr 的输出)。
猜你喜欢
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2016-11-22
  • 2015-01-11
  • 2016-12-02
  • 2016-04-16
  • 2015-10-06
  • 1970-01-01
相关资源
最近更新 更多