Zum einen kann man sich mit aussehen wollen, screen
anstatt nohup
für die Herstellung der Sitzung überleben eine Trennung. screen
gibt Ihnen ein virtuelles Terminal, zu dem Sie später zurückkehren können. Die grundlegende Verwendung besteht screen yourcommand
darin, eine bestehende Sitzung auszuführen yourcommand
und screen -DR
automatisch eine Verbindung herzustellen oder eine neue zu erstellen, falls keine vorhanden ist. Wenn Sie den Bildschirm ohne Argument ausführen, erhalten Sie auch eine Eingabeaufforderung in einem "Bildschirm", den Sie verwenden können.
Zweitens möchten Sie vielleicht in GNU Parallel nach parallelen Jobs suchen . Möglicherweise möchten Sie nicht mehr Prozesse ausführen, als CPU-Kerne vorhanden sind, da sich die Renditen verringern und die Festplatte überlastet wird. Ein geeigneter Befehl für Sie könnte der folgende sein, den Sie wiederum innerhalb eines Bildschirms ausführen müssten, damit eine Verbindung getrennt werden kann.
ls FileDirectory/Input_* | parallel -j 8 --workdir $PWD ./Executable {}
Die Dateien, die Sie parallel
bearbeiten möchten, werden aufgelistet und weitergeleitet, in denen Sie 8 parallele Jobs ausführen und im aktuellen Verzeichnis arbeiten müssen.
Da screen die Pipes und andere Dinge in den als Argument angegebenen Befehlen nicht versteht - das ist die Aufgabe der Shell -, müssen Sie entweder den Befehl in ein Shell-Skript schreiben oder den Befehl sh -c angeben, um den Befehl auszuführen.
screen sh -c 'ls FileDirectory/Input_* | parallel -j 8 --workdir $PWD ./Executable {}'
oder einfach
screen ./runjob
wo runjob
enthält:
#!/usr/bin/env bash ls FileDirectory/Input_* | parallel -j 8 --workdir $PWD ./Executable {}