![Übermitteln von Aufträgen an eine Linux-Workstation](https://rvso.com/image/1346157/%C3%9Cbermitteln%20von%20Auftr%C3%A4gen%20an%20eine%20Linux-Workstation.png)
Ich habe Zugriff auf einige Linux-Workstations, auf denen ich meine ausführbaren C++-Dateien von meinem Laptop aus ausführe, aber das Problem besteht darin, dass ich jedes Mal, wenn ich einen Job vom Terminal auf meinem Laptop aus ausführe, für jeden Job ein Terminalfenster offen halten muss ... Ich brauche eine Möglichkeit, den Job an die Linux-Maschine zu senden und das Ergebnis nur einmal anzuzeigen, nachdem die Ausführung abgeschlossen ist ... Ich weiß, dass dies in einer ausführbaren FORTRAN-Datei möglich ist, indem man am Ende nur ein & hinzufügt, und ich habe es mit folgendem versucht: mpirun -np 20 ./a 200 1000000& und mpirun -np 20 ./a 200 1000000 &, aber nichts davon funktioniert ...
Gibt es eine Möglichkeit, dasselbe unter Linux mit C++ zu tun?
Antwort1
nohup
Versuchen Sie , es am Anfang des Befehls hinzuzufügen . Dadurch wird der Prozess vor dem SIGHUP
Signal geschützt (das anzeigen kann, dass das besitzende Terminal geschlossen wurde), dessen Standardaktion darin besteht, den Prozess zu beenden. Beispiel:
nohup mpirun -np 20 ./a 200 1000000 &
Antwort2
Schauen Sie sich den screen
Befehl an.
man 1 screen