【问题标题】:Server shutting down when exiting iTerminal退出 iTerminal 时服务器关闭
【发布时间】:2013-07-13 16:11:49
【问题描述】:

我的 iPhone 上有一个名为 iTerminal 的应用程序。我通过 SSH 连接到我的亚马逊实例并启动服务器,它运行良好(它是一个 .jar 文件)。但是,当我退出 iTerminal 应用程序时,服务器会关闭。是什么赋予了?!我以为服务器应该正在运行!我的服务器可以关闭的唯一方法是发出退出命令。这没有意义。

【问题讨论】:

  • Mac 上的终端也会发生这种情况。当我的终端关闭时,如何阻止服务器/文件停止运行。

标签: amazon-ec2 iterm2


【解决方案1】:

你需要从你的 shell 中分离服务器进程。您的服务器是 shell 的子进程,当 shell 退出时,系统会终止 shell 的子进程。

一种方法是使用nohup 并在后台从shell 运行进程,如下所示:

nohup /your/server/command &

nohup 成为子进程,顾名思义,它将忽略通常发送给子进程的挂断 (HUP) 信号。

& 在后台运行该命令,以便您返回一个 shell 提示符。当您退出 shell 时,服务仍应作为独立进程运行。

【讨论】:

    【解决方案2】:

    我发现:

    只需输入“屏幕” 然后运行你的服务器/命令。

    现在,当您退出终端时,它不会杀死应用程序。

    【讨论】:

    • 虽然这会起作用,但screen 是一个成熟的窗口管理器,对于分离进程来说有点过头了。我建议我提到的nohup 解决方案更合适。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2017-07-17
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    相关资源
    最近更新 更多