コンソールからコマンドを実行すると、すべて問題ありません。
sudo -u oracle fgrep ...
を使用して Java コードから同じコマンドを実行するとProcessBuilder
、sudo が機能せず、chmod を 775 に設定する必要があります。そうしないと、ログを読み取る権限がありません。
なぜこれが機能しないのですか?chmod 775 なしでログを読み取るオプションはありますか?
これが私が使用している方法ですProcessBuilder
:
ProcessBuilder pb = new ProcessBuilder("bash", "-c", command);
Process shell = pb.start();
InputStream is = shell.getInputStream();