ich muss einen Prozess in meinem Terminal ausführen, der mit meinem QNAP TS-131P NAS verbunden ist. Das Problem ist: Wenn ich mein Terminalfenster schließe, wird der Prozess natürlich beendet. Ich habe alle Methoden ausprobiert, die in dieser Nachricht vorgeschlagen wurden, aber keine davon funktioniert, da die benötigten Tools auf dem NAS nicht installiert sind (z. B. nohup, screen, tmux fehlen alle)…
Ich stecke also in einer Sackgasse… Wie kann ich einen Prozess starten und am Laufen halten, auch nachdem ich das Terminal auf meinem QNAP NAS geschlossen habe?
Bist du sicher? Ich habe SSH-Sitzungen verlassen (nicht ausgeloggt, nur das Fenster geschlossen) und dachte, der Prozess läuft weiter. Ich könnte mich irren, ich weiß, dass das bei einem anderen NAS einer anderen Marke, das ich auch habe, der Fall ist.
Ist das eine regelmäßige Aufgabe, die du ausführst? Könntest du sie stattdessen in die systemweite Crontab aufnehmen, anstatt sie manuell auszuführen?
Hast du auch versucht, sie im Hintergrund laufen zu lassen und sie zu „disownen“?
Danke. Ich habe das Entware-Std qpkg installiert und nohup eingegeben, aber es war nicht enthalten. Allerdings ist tmux enthalten, und ich denke, das wird funktionieren
Danke. Wie ich in meiner ursprünglichen Nachricht gesagt habe, ist es auf meinem QNAP NAS nicht enthalten. Wenn ich screen eingebe, erhalte ich die Fehlermeldung „Befehl nicht gefunden“. Allerdings habe ich es geschafft, tmux zu installieren, und das sollte mein Problem lösen.
Ja, sie muss rund um die Uhr im Hintergrund laufen. Es handelt sich um ein Skript, das alle 15 Minuten einen Server abfragt, um eine Verbindung aufrechtzuerhalten. Es ist ein Bash-Skript, das die Port-Weiterleitungsfunktionalität eines VPN-Servers am Leben hält, und wurde von einer VPN-Serverfirma bereitgestellt.
Nein, weil ich die anfängliche Ausgabe des Bash-Skripts benötige, da es die vom entfernten VPN-Server zugewiesene Portnummer zurückgibt. Der Crontab liefert keine Ausgabe des Skripts, sondern führt es einfach aus. Außerdem gibt das Skript jedes Mal, wenn es ausgeführt wird, eine neue Portnummer zurück, und ich müsste die Portnummer in meiner Endpunkt-Anwendung jedes Mal entsprechend ändern (was nicht praktikabel wäre).
Habe ich nicht, aber ich habe diese Seite, die du gegeben hast, als Lesezeichen gespeichert. Falls nötig, werde ich es mir anschauen. Ich konnte Entware-Std installieren, das mit tmux ausgeliefert wird. Ich probiere es gerade aus und es scheint endlich zu funktionieren. Vielen Dank.
Danke. Könnte er, aber ich denke, das wird nicht nötig sein, da ich es geschafft habe, Entware-Std (die manuelle qpkg-Installation) zu installieren. Es enthält ein Tool namens tmux, und es scheint mein Skript auch nach dem Schließen des Terminals problemlos auszuführen
Bist du über SSH als ursprünglicher Admin-Benutzer angemeldet oder als ein von dir erstellter Benutzer? Wenn du ein sekundäres Konto verwendest, musst du viele Befehle mit sudo ausführen.
Wenn du das Skript korrekt konfigurierst, kann es eine Ausgabe liefern. Ich lasse mehrere Skripte per Cron laufen, die eine Ausgabe in eine Logdatei schreiben und/oder die Ausgabe per E-Mail versenden.
So bin ich immer informiert, wenn sich etwas ändert oder nicht wie erwartet funktioniert.
„< /dev/null“ trennt die Konsole für Eingaben vom Bash-Skript
„> /dev/null“ trennt die Konsole für Ausgaben vom Bash-Skript
„2>&1“ trennt die Konsole für Fehlermeldungen vom Bash-Skript
„&“ führt das Skript im Hintergrund aus.
Das ist im Grunde das, was nohup macht.
Ich habe dies auf einem TS-851 QTS 5.2.8.3350 Build 20251216 getestet, den ich besitze.
Hallo, ich hatte große Erwartungen an tmux, aber nach einem Tag funktionierte es nicht mehr. Letzte Woche habe ich nohup installiert und bis heute läuft es ohne Probleme. So bin ich vorgegangen: