2014-10-18 47 views
-2

我已经写了一个java程序,可以在卡被显示给传感器时读取rfid卡的epc代码。 现在,我需要一个可以终止正在读卡的程序的不同程序。 在我的程序中我写了一个函数,可以停止读取卡,但我不知道如何在其他程序中使用该函数来终止当前正在运行的程序可以终止另一个java程序的java程序

+5

什么问题?你能提供你的代码吗? – ferhan 2014-10-18 06:26:13

+0

您需要找到两种程序相互通信的方式。但是也许你应该重新考虑你的整个设计,为什么首先有两个程序? – Henry 2014-10-18 06:48:39

回答

1

这个问题是相当开放的,而不是真的针对Java。有很多种inter-process communication,请选择。

有几个选项关闭顶部:

  • 存放在一个文件,当您启动它,然后第二个过程可以通过发送一个kill信号,停止第一个进程的PID。这是一个轻量级选项,因为它不涉及修改第一个进程,但具有平台特定且不能跨越机器边界的缺点。

  • 将第一个进程用作某种基于套接字的服务器,第二个进程将其作为客户端进行访问。这很好,因为它可以通过网络工作,如果最终需要扩展IPC的范围(例如添加验证,除了终止之外的其他功能等),则可以利用现有的协议,并且可以充分利用现有的客户端(例如,如果您使用HTTP,也许您只是使用curl而不是为第二个进程构建Java中的某些内容)。

  • 使用类似Akka的消息传递平台或某个RPC库。如果你想让自己的思想留在JVM中,并尽可能少地学习其他任何东西,你可以采取其中一种方法,但最终你会将两种处理结合到一起,这听起来并不是必需的。