Bash App starten?
Wenn ich im terminal: megasync eingebe um megasync zu starten, klappt das zwar, aber ich kann dann nicht weiterschreiben. Es ist als ob ein script ausgeführt wird. Ich kann deswegen im bash script von mir danach keine befehle mehr starten.
3 Antworten
Wenn du nur etwas testen willst kannst du
megasync &
verwenden. Wichtig dabei ist, dass das Programm beendet wird wenn die Shell geschlossen wirst, also zB wenn du das Terminal schließt oder wenn du dich abmeldest.
Zudem wird die Ausgabe von megasync immer noch im Terminal angezeigt das kannst du mit
megasync & > /dev/null
umgehen.
Meiner Meinung nach ist hier aber die Verwendung von Screen sauberer
screen -dm megasync
Dieser Befehl öffnet ein virtuelles Terminal und führt darin megasync aus.
Mit screen -r kannst du dann dieses virtuelle Terminal aufrufen und du siehst darin alle ausgaben von megasync sowie kannst das Programm mit CTRL+C schließen.
Mit dieser Methode läuft der Befehl auch weiter wenn du dich abmeldest. Das virtuelle Terminal schließt sich selbst sobald megasync nicht mehr läuft.
Wenn du das ganze automatisieren willst ost es aber vermutlich ratsamer wenn du einen systemd user.service schreibst.
Dann kannst du megasync mit dem Befehl
systemctl --user megasync.service start
starten und es läuft im Hintergrund, wahlweise kannst du hier auch einen Autostart machen usw.
Du musst screen zuerst mit
sudo apt install screen
installieren.
Btw wenn du verhindern möchtest, dass du megasync zweimal startest, mach einen user service oder ein Batchfile welches abfragt ob der Prozess bereits läuft.
es ging mir halt darum das programm zu restarten. wenn ich megasync && megasync eingebe stürzt mega sync ab und reagiert nicht mehr..
Zusätzlich zu der bereits genannten Lösung kannst du auch einfach ein neues Fenster für die nächste Bash öffnen.
Wenn du ein & Zeichen hintendranhängst, geht das, also
megasync &
Aber beachte, dass das Programm trotzdem beendet wird, wenn du das Terminal verlässt!
screen geht bei mir nicht, hab ubunutu 18.4.2 oder muss ich da was nachinstallieren?