In Ihrem ersten Beispiel:
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar abc.jar & /usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar xyz.jar
Sie starten zuerst abc.jar
im Hintergrund (using &
) und dann xyz.jar
direkt danach, sodass beide gleichzeitig arbeiten.
Im zweiten Beispiel:
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar abc.jar && /usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar xyz.jar
Sie starten abc.jar
und Ihr Bash - Skript sagen zu starten, xyz.jar
wenn abc.jar
Ausfahrten erfolgreich . Also abc.jar
muss aufhören, bevor xyz.jar
die Arbeit beginnt.
Ihr zweites Beispiel ist ein gutes Beispiel für den sequentiellen Start. Wenn Sie jedoch beide gleichzeitig arbeiten möchten, müssen Sie nur das zweite starten, um später zu beginnen, wie Sie es in Ihrer Frage gestellt haben:
Auch wenn es eine Möglichkeit gibt, dass xyz.jar nach 5 Minuten abc.jar startet?
Dann ist das erste Beispiel am ehesten einer funktionierenden Lösung. Ich schlage vor, dass Sie sleep 5m
nach dem Start abc.jar
im Hintergrund eine einfügen :
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar abc.jar & sleep 5m /usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar xyz.jar
Dadurch wird Ihr Skript abc.jar
im Hintergrund gestartet, 5 Minuten lang im Ruhezustand und dann wird es gestartet xyz.jar
(im Vordergrund können Sie es &
erneut hinzufügen, wenn Sie es im Hintergrund haben möchten).