gpt4 book ai didi

.net - Windows 10 上的 SSH.NET 如何在我们的远程 Linux 机器上启动一个保持运行的进程?

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:34 24 4
gpt4 key购买 nike

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

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

因此,我们将“&”放在 RunCommand 字符串的末尾;它不会阻止 RunCommand,但会在应用程序从调用 .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() 返回,.NET 线程继续,在我的例子中,只需返回即可结束自身。

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

关于.net - Windows 10 上的 SSH.NET 如何在我们的远程 Linux 机器上启动一个保持运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54698185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com