我有一个Java守护进程,它作为普通守护进程运行。我想从shell传递命令,就像常规的unix程序一样。 你能告诉我一些如何做到这一点的信息吗?
P.S例如:
我希望使用此命令重新启动Java守护程序:
$javaDaemon -restart
或列出内存
$javaDaemon -m
答案 0 :(得分:4)
您的守护程序和为守护程序提供命令(命令器)的程序必须在它们之间具有公共资源。
例如,共享资源可以是文件。命令器将命令写入文件,守护程序定期轮询文件以进行更改。当守护程序检测到更改时,它会读取文件并执行命令。您必须实现文件锁定,以便守护程序和命令器不会同时尝试访问该文件。
共享资源也可以是套接字。您的守护程序打开并侦听套接字,并且命令员直接向其写入命令。
还有其他选择。您应该使用像Google这样的搜索引擎来研究“通用进程间通信”。