我正在运行一个 Java 应用程序(在 Ubuntu 上),它有自己的内部 CLI,但没有 API 或外部访问权限。我能想到的一个解决方案是在其自己的伪终端中运行此应用程序,然后向该终端写入命令以提交命令。这是最好的方法吗?如果是这样,有没有一种常规方法可以完成这类事情?有没有一种方法可以创建伪终端,在其中启动应用程序,然后从其他终端发送命令,所有这些都简单而可靠?
谢谢,
山姆
答案1
说实话,这可能不是最好的主意,但您可以通过 在 screen 下运行它screen -d -m -s your-java-app
。这将导致 screen 启动您的应用程序而不是 shell,并且启动时已经分离。然后您可以根据需要连接到它。您甚至可以设置 ACL,以便某些人可以连接到它。
我看到的最大缺点是 Ctrl-A,C 最终会运行程序的第二个实例。也许你可以有一个专用的 .screenrc 来禁用该绑定。