Ausgehend von http://forum.ubuntuusers.de/topic/server-vs-xubuntu-bei-minidlna-bzgl-medienaktu/2/#post-7196223 suche ich nach einer Möglichkeit die Sekunden festzustellen, die ein Prozess bereits läuft, konkret geht es darum wie lange Minidlna schon läuft. Zum Testen reicht mir auch die Uptime, aber die kann falsch sein.
Wieviele Sekunden läuft ein Prozess bzw. läuft der Mindlna-Server?
Anmeldungsdatum: Beiträge: 3453 |
|
||
Anmeldungsdatum: Beiträge: 4020 |
Hallo, ich hab das Programm nicht installiert, drum anhand vom Firefox: ps -p $(pidof firefox) -o etime In Sekunden müsste das halt noch umgerechnet werden, wenn das wirklich das Ziel ist. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 3453 |
ps -p $(pidof minidlnad) -o etime ELAPSED 12:48 Hmmh, wie rechne ich das einfach in Sekunden in einem Bash-Script um? Das kann also nach dem Start zu einer Fehlermeldung führen: ps -p $(pidof minidlnad) -o etime | grep ":" Fehler: Syntax-Fehler in der Prozess-ID-Liste obwohl die Syntax später ok ist: ps -p $(pidof minidlnad) -o etime | grep ":" 02:23 |
||
Projektleitung
Anmeldungsdatum: Beiträge: 12832 |
|||
(Themenstarter)
Anmeldungsdatum: Beiträge: 3453 |
Danke für den Hinweis auf etimes ps -p $(pidof minidlnad) --no-headers -o etimes | sed -e 's/^ *//' -e 's/ *$//' 1175 |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 3453 |
So ganz passt das leider noch immer nicht: Frage ich also gleich nachdem Booten und sobald eine Netzwerkverbindung besteht, erhalte ich folgendes mit MINDLNA_TIME=`ssh -p $PORT root@$NAS_IP ps -p $(pidof minidlnad) --no-headers -o etimes | sed -e 's/^ *//' -e 's/ *$//'` Kurz nach dem Hochfahren lässt sich der Prozess nicht abfragen. [: -lt: Einstelliger (unärer) Operator erwartet. Ich bin mir nicht sicher, ob ich dann die Zeit einfach auf 0 setzen soll / kann. Hier der komplette Scriptteil, wie es nun hoffentlich funktioniert:
|
||
Projektleitung
Anmeldungsdatum: Beiträge: 12832 |
Weiter unten hast Du doch aber ein Skript, das den Fehler vermeidet. Wo ist denn nun noch das Problem?
Klar, weil MINDLNA_TIME undefiniert ist bzw. einen Leerstring enthält.
Können kannst Du natürlich, wie Dein Skript zeigt. Ob es richtig ist, kann ich nicht beurteilen.
Ich würde das etwas anders machen:
Der Test mit "-n" in Zeile 10 ist zur Sicherheit da für den Fall, dass der Prozess Eine Sache finde ich aber höchstgradig seltsam: Du ermittelst eine PID mittels |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 3453 |
Die Frage ist, ob es sinnvoll ist, das so zu machen
Soweit klar, aber warum dauert es ca. 10-15 Sekunden bis minidlna up ist, obwohl ein ssh zB schon möglich ist. Ist nicht tragisch, aber ich dachte die Dienste werden sofort beim Hochfahren gestartet.
Es soll vom lokalen PC remote abgefragt werden.
Danke für die Anregung, Es geht um einen Aufruf auf einer lokalen Maschine, der auf einem anderen PC im lokalen Netz abfragt, ob am anderen PC minidlnad läuft. Es gibt einen "aktiven" root-Account. In Folge wird dann entschieden, ob rsync gleich ausgeführt werden kann, oder ob gewartet werden muss. Ich versuche dahinter zu kommen, warum inotify bzw. die Aktualisierung nicht bzw. nicht zuverlässig mit minidlna erfolgt. Vgl. http://forum.ubuntuusers.de/topic/server-vs-xubuntu-bei-minidlna-bzgl-medienaktu/ Ich habe die Logik etwas geändert, siehst du ein Problem, wenn das so ein lokaler PC auf einem anderen PC durchfführt? Sorry, ich schreibe Variablen und nicht nur Konstante immer wieder groß, das ist kann auch durch restlichen Code bedingt sein, den ich nicht ersetzen will.
|