Ich habe ein Bash-Skript, das einen Hauptbefehl ausführen wird, sagen wir für eine Stunde. Ich möchte nach einer gewissen Zeit seit dem Start des Hauptbefehls (bei t_x) noch einen weiteren Befehl ausführen. Etwas wie dieses:Wie führe ich einen Befehl nach einer bestimmten Zeit aus, während ein anderer Befehl ausgeführt wird?
Hauptstarts -------> Hauptenden | | zum Zeitpunkt t_x wird die zweite Befehl
Im Moment ausgeführt Ich habe so etwas wie dies:
mpirun main_command & sleep 1m && second_command
und das Problem ist, dass nach dem zweiten Befehl ausgeführt wird, wird der Haupt Befehl getötet. Kann mir jemand helfen? Vielen Dank!
Sie können versuchen, etwas wie: '(Schlaf 80 &); ls; Schlaf 5; ps'. Anstelle von "Schlaf", "ls" und "PS" können Sie andere Befehle verwenden. – linuxfan
Es ist für mich zumindest unklar, was das eigentliche Problem ist. –
@MarkSetchell: Die Ausgabe des Hauptbefehls ist fehlerhaft (wenn der Hauptbefehl beendet ist); also möchte ich eine Kopie seiner Ausgabe machen, bevor der Hauptbefehl beendet ist; Ich weiß, zu welcher Zeit ich die Kopie machen sollte; aber anstatt es manuell zu tun, möchte ich es zerstäuben. Das Problem mit dem Schlaf ist, dass es den Hauptbefehl tötet, bevor er tatsächlich beendet ist. –