Ich versuche ein Skript zu erstellen, das einige Programme startet
startup.sh
knetworkmanager
emesene
keepassx
Das Problem ist, dass beim Ausführen des Skripts nur knetworkmanager gestartet wird. Das liegt daran, dass es gestartet wird und dann gewartet wird, bis es fertig ist. Wie kann ich ein Programm starten, ohne darauf zu warten? Ich glaube nicht, dass ich einfach "&" nach jedem Befehl hinzufügen kann, da alle Prozesse immer noch abgebrochen werden, wenn das Skript beendet ist.
quelle
Nein, die Prozesse sollten nicht abgebrochen werden, wenn das Skript beendet ist, wenn Sie es verwenden
&
. Versuch es.quelle
Anhand der von Ihnen angegebenen Beispielprogramme sieht es so aus, als würden Sie versuchen, einige Programme zu starten, wenn KDE gestartet wird. Wenn ja, werfen Sie einen Blick auf die Autostart-Funktion von KDE. Dieser Artikel enthält weitere Informationen und Anweisungen zum Hinzufügen von Programmen zum Autostart.
quelle
Verwenden Sie, wie bereits gesagt, den
&
Operator, um einen Befehl in den Hintergrund zu stellen, wenn die Shell ihn ausführt.Wenn Sie möchten, dass die Komponententeile in der richtigen Reihenfolge (und nicht gleichzeitig) ausgeführt werden, das Ganze jedoch im Hintergrund angezeigt wird, verwenden Sie eine Unterschale wie die folgende:
oder, wenn Sie den Betrieb jedes Teils von der erfolgreichen Fertigstellung des vorherigen Teils abhängig machen möchten, verwenden Sie:
quelle
Das Hinzufügen eines '&' nach jedem Befehl wird definitiv funktionieren. Dies würde bedeuten, dass diese Skripte oder Programme auch nach Abschluss von startup.sh weiter ausgeführt werden.
quelle
Eine andere Möglichkeit wäre, den Prozess als Dämon mit / sbin / start-stop-daemon zu starten
quelle