0

我是无头应用程序的新手,正如标题所述,我想知道有哪些方法可以终止无头应用程序?在这个主题上,人们通常如何部署应用程序?

谢谢!

4

2 回答 2

0

基本解决原理:在服务端(headless app,我称之为服务)打开一个ServerSocket,监听某个端口。从外部连接到该 ServerSocket 并发送特定消息。当服务器应用程序收到连接请求时,它可以对其进行操作。

提示: 但是,请确保您使用诸如秘密消息之类的东西或诸如签名和 SSL 之类的其他身份验证方法,因为否则知道服务器端口的每个人都可以关闭您的应用程序。

顺便说一句,同样的解决方案原理也可用于将新参数传递给已经运行的应用程序,例如在浏览器中双击某个音频文件将在当前音频播放器中播放新标题,而不是在新实例中播放。(新实例实际上开始了,但将新文件/标题发送到旧实例,旧实例捕获它并切换到那首新歌曲)

附加:当您有另一种向应用程序发送数据的方式时,例如在可以 POST/GET 数据的网页中,您还可以解析该输入以获取特定消息。

于 2013-01-02T13:19:05.447 回答
0

您可以考虑使用ProcessBuilder来启动新的操作系统进程

例子:

Process p = new ProcessBuilder("myCommand", "myArg").start();
...
p.destroy();
于 2013-03-05T10:46:14.380 回答