Wie kann ich Termux-Hintergrundprozesse starten oder stoppen?

Melden
  1. Einleitung
  2. Hintergrundprozesse in Termux starten
  3. Benutzung von nohup
  4. Verwendung von tmux oder screen
  5. Hintergrundprozesse anzeigen und verwalten
  6. Hintergrundprozesse stoppen
  7. Zusammenfassung

Einleitung

Termux ist eine leistungsfähige Linux-Umgebung für Android-Geräte, die es erlaubt, viele typische Linux-Tools und -Skripte direkt auf dem Smartphone oder Tablet auszuführen. Häufig möchte man in Termux Skripte oder Programme im Hintergrund ausführen, sodass diese auch dann weiterlaufen, wenn man Termux minimiert oder die App schließt. Im Folgenden wird ausführlich erklärt, wie man Hintergrundprozesse in Termux startet, verwaltet und beendet.

Hintergrundprozesse in Termux starten

Um einen Prozess im Hintergrund zu starten, kann man die üblichen Shell-Mechanismen verwenden. Zum Beispiel fügt man einem Befehl ein & am Ende hinzu. Angenommen, Sie möchten ein Skript starten, das eine Weile läuft:

bash mein-skript.sh &

Dieses Kommando startet mein-skript.sh im Hintergrund. Der Prozess läuft weiter, auch wenn Sie weitere Befehle in der aktuellen Termux-Session ausführen möchten. Allerdings beendet sich der Prozess normalerweise, wenn die Termux-Session beendet oder geschlossen wird.

Um das zu umgehen und wirklich persistente Prozesse zu starten, die auch dann weiterlaufen, wenn die App geschlossen wird, empfiehlt sich die Verwendung von nohup oder eines Terminal-Multiplexers wie tmux oder screen.

Benutzung von nohup

nohup verhindert, dass ein Prozess beim Schließen der Shell beendet wird. Die Schreibweise lautet:

nohup bash mein-skript.sh > output.log 2>&1 &

Hier wird mein-skript.sh im Hintergrund gestartet, alle Ausgaben (Standard- und Fehlerausgabe) werden in die Datei output.log umgeleitet. Somit läuft der Prozess auch weiter, wenn Termux geschlossen oder der Nutzer sich abmeldet.

Verwendung von tmux oder screen

Alternativ kann man mit tmux oder screen Sitzungen starten, in denen Prozesse laufen. Die Vorteile sind, dass man die Sitzung später wieder öffnen kann, um die Ausgaben zu sehen oder weiteres zu steuern.

Nach der Installation von tmux mit pkg install tmux, startet man eine neue Sitzung mit:

tmux new -s meine-sitzung

In dieser Sitzung kann man dann ein Skript starten, zum Beispiel bash mein-skript.sh. Man kann die Sitzung verlassen, ohne sie zu beenden, indem man Ctrl + b drückt, danach d. Die Sitzung und das Skript laufen weiter im Hintergrund. Um später die Sitzung wieder zu öffnen, verwendet man:

tmux attach -t meine-sitzung

Das ist praktisch, um länger laufende Prozesse komfortabel zu verwalten.

Hintergrundprozesse anzeigen und verwalten

Um aktuell laufende Prozesse aufzulisten, benutzt man in Termux die Standards von Linux:

ps aux

oder für alle Prozesse, auch von anderen Nutzern:

ps -ef

Falls man speziell nach eigenen Prozessen suchen möchte, kann man die Ausgabe mit grep filtern, z.B.:

ps aux | grep mein-skript.sh

Dadurch sieht man die Prozess-ID (PID), die man zum Stoppen oder Kontrollieren benötigt.

Hintergrundprozesse stoppen

Um einen Prozess zu beenden, benötigt man die Prozess-ID (PID). Wenn man die PID kennt, kann man den Prozess mit dem Befehl

kill PID

beenden. Durch das Senden des Signals TERM wird der Prozess freundlich zum Beenden aufgefordert. Sollte der Prozess nicht reagieren, kann man ein drastischeres Signal senden:

kill -9 PID

Dies sendet das Signal KILL, das den Prozess sofort beendet.

Wenn Sie eine tmux Sitzung beenden möchten, können Sie die Sitzung mit dem Befehl

tmux kill-session -t meine-sitzung

abschalten, oder innerhalb der Sitzung den laufenden Prozess beenden und mit exit die Sitzung verlassen.

Zusammenfassung

Grundsätzlich können Sie in Termux jeden Prozess im Hintergrund starten, indem Sie ein & anhängen. Um den Prozess aber dauerhaft laufen zu lassen, empfiehlt sich die Verwendung von nohup, tmux oder screen. Mit den Linux-Kommandos ps und kill können Sie laufende Hintergrundprozesse finden und beenden. Für das Verwalten von Sitzungen ist tmux eine sehr komfortable Lösung, die auch das spätere Wiederverbinden ermöglicht.

0
0 Kommentare