![启动程序并稍后检索其标准流](https://linux22.com/image/1264461/%E5%90%AF%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%B9%B6%E7%A8%8D%E5%90%8E%E6%A3%80%E7%B4%A2%E5%85%B6%E6%A0%87%E5%87%86%E6%B5%81.png)
我希望能够在我的 VPS(我通过 ssh 连接到该 VPS)上启动一些特定服务器(与游戏相关)。这很简单,我只需连接并执行命令,但这会产生一些问题。
我想要做的是:
- 以不依赖 SSH 的方式启动它(例如,我不希望在关闭 SSH 会话时关闭它)
- 能够检索进程的 stdin/stdout(这是因为我可以通过 stdin 发送命令,但一旦丢失,我就不知道如何取回它并继续使用它)
我认为有很多解决方案可以简单有效地解决我的问题(而不需要寻找任何过于复杂的东西)?
答案1
使用 GNU Screen 是一个简单的选择。
screen
使用命令打开新的屏幕会话- 执行所需命令
- 使用Ctrl+ A- Ctrl+分离D
- 退出 SSH
下次您需要重新连接到屏幕会话时,只需运行screen -r
(恢复)。如果您需要大量输出,您可能需要将 STDOUT 和 STDERR 重定向到屏幕会话中的文件。