我希望通过SSH(PHP脚本)启动一个Java进程(Minecraft服务器),并在断开连接时不会被关闭。
我正在使用Windows的Bitvise SSH Server和64位Java。我可以启动服务器,但如果我断开SSH服务器的连接,则Java进程(Minecraft服务器)将停止运行。 我尝试使用PUTTY,但出现了相同的问题。
是否有类似于Linux的screen命令的cmd命令,可以将进程放在后台运行?
谢谢。
LK"I
我正在使用Windows的OpenSSH服务器。 使用以下PowerShell命令成功使其运行:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList C:\path\your-command.exe
start nohup your-command > logfile.txt
,并且在退出ssh会话时它应该仍然保持运行状态。这适用于Windows 10附带的OpenSSH服务器。请查看Super User上的这个问题:Windows - 关闭cmd后在后台运行进程
所以你需要做的是:
start javaw.exe <arguments>
这将使进程在您断开SSH连接后继续运行,而不会关闭您发出命令的CMD会话。
tmux
或screen
。 - iBug