【问题标题】:Windows ssh - How to keep proccess running after DisconnectWindows ssh - 如何在断开连接后保持进程运行
【发布时间】:2018-07-28 07:26:45
【问题描述】:

我想通过 SSH(PHP 脚本)启动一个 java 进程(Minecraft 服务器)。并且在断开连接时不应关闭它。

我正在使用适用于 Windows 和 64 位 Java 的 Bitvise SSH 服务器。 我可以启动服务器,但如果我与 ssh 服务器断开连接,那么 java 进程(Minecraft 服务器)就会停止。 我试过 PUTTY 但同样的问题。

是否有 cmd 的命令,例如 Linux 的 screen,它会将进程置于后台?

谢谢。

【问题讨论】:

  • 使用tmuxscreen等工具。
  • 但是在带有cmd的windows上没有linux命令

标签: ssh minecraft openssh


【解决方案1】:

在超级用户上查看这个问题:Windows - Run process on background after closing cmd

所以你要做的是:

start javaw.exe <arguments>

这将在您与 SSH 断开连接后保持进程运行,这将关闭您发出命令的 CMD 会话。

【讨论】:

  • 这似乎只有在(并且只要)用户登录到 Windows 桌面会话时才有效。至少对我来说,退出 Windows 也会终止在 ssh 会话中打开的进程(从远程计算机)。但是,即使在用户退出 Windows(和 ssh)之后,上面的“powershell Invoke-WmiMethod”答案似乎也能保持进程运行。
【解决方案2】:

如果您安装了 GNU Coreutils/cygwin,那么您可以运行 start nohup your-command &gt; logfile.txt,并且当您退出 ssh 会话时它应该会继续运行。这适用于 Windows 10 附带的 OpenSSH 服务器。

【讨论】:

    【解决方案3】:

    LK"我

    我正在为 Windows 使用 OpenSSH 服务器。 使用此 Power shell 命令设法使其工作:

    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList C:\path\your-command.exe
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 2021-02-12
      • 2014-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      相关资源
      最近更新 更多