このスクリプトを手動で実行すると、ブラウザーのクロムが 1 つのタブでサイトを開きます (これはまさに私が必要としていた方法で完璧です)
しかし、Java サンプル コードを使用して同じスクリプトを 10 回実行すると、ブラウザーが開きますが、同じ 10 ページのタブが 10 回開きます。
Q. 手動で実行されていると想定されているように Java コードを実行してください (タブが 1 つしかないように)、どのように伝えることができますか?
BASH: /var/tmp/runme.sh (10 回実行しても、期待どおり常に 1 つのタブが表示されます)
export DISPLAY=:0.0
ps aux | grep chromium-browser | awk '{ print $2 }' | xargs kill -9;
sleep 8;
chromium-browser --process-per-site --no-discard-tabs --ash-disable-tab-scrubbing -disable-translate "http://www.oracle.com" &
Java:そのスクリプトを 10 回起動する
system("/var/tmp/runme.sh &");
public static String system(String cmds) {
String value = "";
try {
String cmd[] = { "/bin/sh", "-c", cmds};
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = reader.readLine();
while (line != null) {
value += line + "\n\r";
line = reader.readLine();
}
}
catch (IOException ioe) {
ioe.printStackTrace();
}
catch (InterruptedException ie) {
ie.printStackTrace();
}
return value;
}