Ich möchte ein Skript ausführen, wenn alle Aufträge, die ich an einen Server gesendet habe, erledigt sind.Wie führe ich automatisch ein Bash-Skript aus, wenn meine QSub-Jobs auf einem Server beendet sind?
zum Beispiel, ich sende
ssh server "for i in config*; do qsub ./run 1 $i; done"
Und ich bekomme wieder eine Liste der Jobs, die gestartet wurden. Ich möchte automatisch ein anderes Skript auf dem Server starten, um die Ausgabe von diesen Jobs zu verarbeiten, sobald alle abgeschlossen sind.
Ich würde irgendwelche Ratschläge zu schätzen wissen, dass Sie mir folgende unelegant Lösung vermeiden helfen würde:
Wenn ich jeden der 1000 Job-IDs aus dem obigen Aufruf in einer separaten Datei zu speichern, ich den Inhalt jeder Datei überprüfen konnte gegen die aktuelle Liste der laufenden Aufträge, dh Ausgabe von einem Aufruf:
ssh qstat
ich würde nur jede halbe Stunde überprüfen müssen, aber ich könnte mir vorstellen, dass es einen besseren Weg gibt.