
Angenommen, ich möchte ein Java-Programm ausführen, dann würde ich Folgendes eingeben:
java myProgram
und dann nehmen wir an, dass es eine Ausgabe auf dem Bildschirm ausgibt, aber einige Stunden braucht, um fertig zu laufen. Wenn ich während der Ausführung am selben Terminal weiterarbeiten möchte, welchen Befehl sollte ich verwenden? Ich habe & am Ende ausprobiert, aber es schien nicht zu funktionieren.
Antwort1
Fügen Sie nach dem Befehl einfach ein hinzu &
. Dadurch wird der Befehl im Hintergrund ausgeführt.
Beachten Sie, dass Sie noch immer die Ausgabe erhalten. Daher möchten Sie die Ausgabe möglicherweise zu /dev/null
oder in eine Konfigurationsdatei umleiten.
Um beispielsweise sowohl stdout als auch stderr umzuleiten:
java myProgram > /dev/null 2>&1 &
Antwort2
Da das Programm sehr lange läuft, sollten Sie die Verwendung vonBildschirm. Sie können das Programm ausführen und dann mit Strg+A Strg+C eine weitere Eingabeaufforderung starten. Sie können das so oft tun, wie Sie möchten, und an mehreren Dingen gleichzeitig arbeiten. Auch wenn Sie sich abmelden und später wieder anmelden (nur nicht herunterfahren), können Sie sich erneut mit dem Bildschirm verbinden und sehen, wie es läuft. Geben Sie „man screen“ ein, um Informationen zu erhalten.
Es gibt auch tmux, ein ähnliches Tool, das Sie aber installieren müssen.
Antwort3
Ich findeBildschirmwird Ihre spezielle Frage am besten beantworten, aber es hört sich so an, als würde Ihr Arbeitsablauf am meisten von der Verwendung von Registerkarten profitieren.
Um eine neue Registerkarte im Terminal zu öffnen, drücken Sie bei ausgewähltem TerminalStrg+T, und Sie können zwischen den Registerkarten wechseln, indem Sie drückenStrg+Bild aufoderStrg+Bild abum zwischen ihnen zu wechseln.
Dies wird schnell intuitiv und erweist sich als effizient, da Sie schnell zwischen Registerkarten wechseln können, um lang laufende Programme zu überprüfen, oder schnell weitere Registerkarten öffnen können, wenn Sie die Registerkarten, in denen Sie gerade arbeiten, mit langwierigen Aufgaben beschäftigen.