
Ich versuche, meinen Java-Code remote über SSH auszuführen. Dazu muss ich qsub verwenden, daher habe ich ein kurzes Bash-Skript erstellt, das meine Java-Dateien kompiliert und dann die Hauptdatei ausführt.
Das ist der Punkt: Mein Code (wenn er ohne qsub ausgeführt wird) fordert den Benutzer zur Eingabe eines Dateinamens und eines Benutzernamens auf. Wenn er mit qsub ausgeführt wird, geschieht dies nicht, aber der Job wird abgeschlossen.
Wie kann ich (immer noch mit qsub) diese Interaktivität zurückerhalten? Mein Code druckt eine Reihe von Ergebnissen, wenn er ohne qsub ausgeführt wird, also hätte ich das auch gerne.
Danke für die Hilfe!
Antwort1
qsub
übermittelt Ihr Java-Programm an ein Batch-Warteschlangensystem und es wird schließlich auf einem der Rechenknoten im Cluster ausgeführt. Wie wollen Sie in dieser Situation in der Lage sein, Daten interaktiv einzugeben? Es gibt kein TTY, keinen Bildschirm und keine Tastatur.
Sie müssen Ihr Programm so ändern, dass es Befehlszeilenargumente akzeptiert und den Dateinamen und Benutzernamen in der Befehlszeile angibt, wenn Sie qsub
den Auftrag übermitteln.