Wie kann ich mehrere SAS-Programme gleichzeitig hosten?

Wie kann ich mehrere SAS-Programme gleichzeitig hosten?

Ich habe mehrere SAS-Programme

test1_2.sas
test3_4.sas
test7_8.sas

und ich hoffe, nohupdiese Skripte sofort zu verwenden. Ich habe versucht, einen Shell-Wrapper wie diesen zu erstellen test.sh:

#test running multiple files
testing1_2.sas &
testing3_4.sas &

und ich habe versucht, nohup sas test.sh &und aufzurufen nohup test.sh &. Beide Befehle sagen mir, test.shdass es sich nicht im aktuellen Verzeichnis befindet, obwohl es eindeutig im Ordner gespeichert ist.

Ich bin noch recht neu im Shell-Scripting und hätte gerne Hilfe, um die richtige Methode zum Ausführen nohupmehrerer SAS-Programme zu finden. Danke!

Antwort1

Ich bin kein großer Fan von nohup (ich verwende stattdessen disown), aber wenn Sie in einem Shell-Skript vor jeden Befehl „nohup“ setzen, wird der nohup-Teil Ihrer Frage ausgeführt.

Ich glaube jedoch, dass Ihre Dateien SAS-Programme sind? Wenn Sie möchten, dass SAS auf jedem SAS-Programm parallel ausgeführt wird:

nohup sas test1_2.sas &
nohup sas test3_4.sas &
etc.

Dadurch werden unabhängige SAS-Befehle ausgeführt, jeder mit seinem eigenen SAS-Programm.

Wenn Sie mit dem Befehl nohup fortfahren und eine Ausgabe erzeugen, schreiben alle gleichzeitig in nohup.out. Um dies zu verhindern, schreiben Sie Ausgabe und Fehlermeldungen für jeden Befehl in eine separate Datei:

nohup sas test1_2.sas > output1_2.file 2>&1 &
nohup sas test3_4.sas > output3_4.file 2>&1 &
etc.

Hinzugefügt, um Code aus Kommentaren einzuschließen:

Um den Befehl test.sh aufzurufen, entweder

bash test.sh

(wobei „bash“ Ihre bevorzugte Shell ist) oder markieren Sie es als ausführbar:

chmod +x test.sh

Da Sie neu sind, klicken Sie unbedingt auf das Häkchen, wenn Sie denken, dass dies die richtige Antwort auf Ihre Frage ist.

verwandte Informationen