Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与Java进程对话的简单方法_Java_Linux_Ipc - Fatal编程技术网

与Java进程对话的简单方法

与Java进程对话的简单方法,java,linux,ipc,Java,Linux,Ipc,我试图找到从Java进程请求信息的最简单方法。从shell脚本中,我需要传递两个字符串作为参数,然后返回一个字符串。完全同步和阻塞 最简单的方法是什么?Http有点重,但如果没有其他内容,它也可以。管道/unix套接字通信将很简单,但需要更多的维护代码(关于超时、额外的本机绑定库等)。自己的tcp通信可以正常。。。但是用bash脚本很难处理 还有其他简单、轻量级的选项不需要从脚本启动另一个JVM吗?您已经用Linux标记了它。如果这只适用于Linux,那么您可以使用mkfifo制作一对命名管道,

我试图找到从Java进程请求信息的最简单方法。从shell脚本中,我需要传递两个字符串作为参数,然后返回一个字符串。完全同步和阻塞

最简单的方法是什么?Http有点重,但如果没有其他内容,它也可以。管道/unix套接字通信将很简单,但需要更多的维护代码(关于超时、额外的本机绑定库等)。自己的tcp通信可以正常。。。但是用bash脚本很难处理


还有其他简单、轻量级的选项不需要从脚本启动另一个JVM吗?

您已经用Linux标记了它。如果这只适用于Linux,那么您可以使用mkfifo制作一对命名管道,在从一个线程(或Java程序中的一个线程,如果需要)读取时使用Java程序块,然后通过向其写入命令来发送命令;Java程序可以在另一个上发回回复。

您已经用Linux标记了它。如果这只适用于Linux,那么您可以使用mkfifo制作一对命名管道,在从一个线程(或Java程序中的一个线程,如果需要)读取时使用Java程序块,然后通过向其写入命令来发送命令;Java程序可以在另一个上发回回复。

您可以使用支持来读写TCP套接字:

在一个终端中:

$ nc -l 8888
hello
why hello!
^D
$ exec 6<>/dev/tcp/localhost/8888
$ echo hello >&6
$ cat <&6
why hello!
$ 
在另一个终端:

$ nc -l 8888
hello
why hello!
^D
$ exec 6<>/dev/tcp/localhost/8888
$ echo hello >&6
$ cat <&6
why hello!
$ 
$exec 6/dev/tcp/localhost/8888
$echo hello>&6
$cat您可以使用支持读取和写入TCP套接字:

在一个终端中:

$ nc -l 8888
hello
why hello!
^D
$ exec 6<>/dev/tcp/localhost/8888
$ echo hello >&6
$ cat <&6
why hello!
$ 
在另一个终端:

$ nc -l 8888
hello
why hello!
^D
$ exec 6<>/dev/tcp/localhost/8888
$ echo hello >&6
$ cat <&6
why hello!
$ 
$exec 6/dev/tcp/localhost/8888
$echo hello>&6

$cat我肯定会使用http。如果您已经在应用服务器上运行,那么这很容易。如果不是,您可以在此处找到答案:


我肯定会使用http。如果您已经在应用服务器上运行,那么这很容易。如果不是,您可以在此处找到答案:


对于简单的通信,只需使用文件和dirwatcher即可-虽然很蹩脚但很有效。对于HTTP服务器,我会坚持使用HTTP,否则您可以尝试或编写自己的套接字连接

对于简单的通信,只需使用文件和一个dirwatcher即可-虽然很蹩脚但很有效。对于HTTP服务器,我会坚持使用HTTP,否则您可以尝试或编写自己的套接字连接

这很酷——Linux提示和它让您编写Java程序变得可移植而简单的事实。这很酷——Linux提示和它让您编写Java程序变得可移植而简单的事实。