特定のJavaバイナリを使用してプロセスとそのプロセスで呼び出されるすべてのプロセスを呼び出すにはどうすればよいですか?

特定のJavaバイナリを使用してプロセスとそのプロセスで呼び出されるすべてのプロセスを呼び出すにはどうすればよいですか?

特定のJavaバイナリを使用して特定のプロセスを呼び出すことができる必要があります。プロセスを「foo」と呼んでください。しかし、fooはJavaを介して他のいくつかのプロセスも呼び出しますが、fooは私にとってブラックボックスです。 fooがこれらのプロセスを呼び出すと、「java bar」、「java bat」などが実行されます。 fooとfooが呼び出すすべてのプロセスに/ full / path / to / javaのみを使用するように指示するにはどうすればよいですか?デフォルトでは、単一のシェルセッションおよび/または単一のプロセスツリーに「update-alternatives」を使用したいと思います。

オペレーティングシステムはCentos7で、シェルはbashです。

システムの他のプロセスには異なるJavaバイナリが必要なため、システムJavaを設定できません。

ベストアンサー1

~/myjavaシンボリックリンクのみを含むディレクトリを作成します/full/path/to/bin/java

mkdir ~/myjava
ln -s /full/path/to/bin/java ~/myjava/java

コマンド検索パスの先頭でこのディレクトリを使用してプロセスを実行します。また、一部のプログラムは環境変数を確認しますJAVA_HOME。一貫性があることを確認してください。実際の実行可能ファイルは、またはjavaというサブディレクトリになければなりません。bin$JAVA_HOME

PATH=~/myjava:$PATH JAVA_HOME=/full/path/to foo

おすすめ記事