Windows 10 上的 SSH.NET 如何在我们保持 运行 的远程 Linux 框上启动进程?

How can SSH.NET on Windows 10 start a process on our remote Linux box that stays running?

此代码会阻塞,直到 Linux 进程自行结束:

cSSH.Connect()
cSSH.RunCommand("<our path>linux_process”)  <<< BLOCKS UNTIL linux_process ENDS ITSELF
cSSH.Disconnect()
cSSH.Dispose()

因此,我们将“&”放在RunCommand字符串的末尾;它不会阻止 RunCommand,但会在应用 returns 从调用 .RunCommand 的函数开始 Linux 进程时过早结束 Linux 进程:

cSSH.Connect()
cSSH.RunCommand("<our path>linux_process &”)  
cSSH.Disconnect()
cSSH.Dispose()

return      <<<<<<  CAUSES linux_process TO IMMEDIATELY END

解决方案是启动一个调用 SSH.NET .RunCommand( ) 的 .NET 线程,该线程会阻塞直到 Linux 可执行文件自行结束,此时 .RunCommand() returns .NET 线程继续,在我的例子中,通过简单地返回结束。

我想知道为什么投反对票。