私はUbuntu 16.04
を使用しています。 JVM
とプロセスが、私は彼らが実際にどのように通信するかを理解する必要があります別のものですので、私はJavaでのプロセスの理解[Linux]
String[] commandLine;
String[] environment;
//...
Process p = Runtime.getRuntime().exec(commandLine, environment);
InputStream processInputStream = p.getInputStream(); //<---- ?
としてJavaでプロセスを開始する必要があります。しかし、いくつかのロジックを実行するために
。そして何(チャネル、ソケット/ tcp/udp、パイプなど)を通して。
実際にデータをどのように転送しますか?
「_since JVMとプロセスは、私が実際にどのように通信するかを理解するために必要なものとは異なる_」これは広すぎます。あなたは何を期待していますか?あなたはOSに基づいてどのような違いがあると思いますか? – AxelH
@AxelH何が広すぎるのですか?あるプロセスが別のプロセスからのデータを要求する場合、プロセス間通信が必要です。それでどちら?ソケット?もしそうなら、どのソケット(TCP/UDP)? –
これは本当に素晴らしい質問です。私は多くの人々がまだその質問の意味を理解しているとは思わない...私は本当にそれを理解する時間を取った。しかし一方で、あなたは 'ProcessBuilder'の' .inheritIO() 'メソッドを見たことがありますか? – fge