Moin allerseits!
Ein Programm (fbi, ein Bildanzeiger für ein Framebuffer-Display), das ich aus einem Skript heraus starte, beendet sich nicht automatisch, sondern läuft im Hintergrund weiter. Wenn ich ein anderes Bild anzeigen möchte, muss ich fbi erneut starten. Dann taucht fbi bei 'pidof' mit zwei PIDs auf.
Wenn ich da nie etwas kille, läuft irgendwann der ganze Rechner nur noch für ein paar tausend Inkarnationen eines Bildbetrachters. Wie finde ich am einfachsten heraus, welche(n) der laufenden Bildbetrachter ich abschießen darf bzw. welcher nicht abgeschossen werden darf?
Mir fallen zwar mögliche Lösungen ein, aber die muten teilweise seltsam an. Gibt es eine fertige Lösung für so einen Fall?
Vielen Dank vorweg!
Gregor
[gelöst] PID des am längsten laufenden Prozesses?
[gelöst] PID des am längsten laufenden Prozesses?
Zuletzt geändert von GregorS am 18.07.2014 00:36:08, insgesamt 1-mal geändert.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
-
- Beiträge: 2049
- Registriert: 18.03.2012 21:13:42
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: PID des am längsten laufenden Prozesses?
Hi,
verstehe ich das richtig: du öffnest fbi über ein Skript und ab und an startest du das Skript erneut um ein anderes Bild anzuzeigen?
Wenn ja könntest du doch am Anfang deines Skriptes fbi killen bevor das neue geöffnet wird?
verstehe ich das richtig: du öffnest fbi über ein Skript und ab und an startest du das Skript erneut um ein anderes Bild anzuzeigen?
Wenn ja könntest du doch am Anfang deines Skriptes fbi killen bevor das neue geöffnet wird?
Hilf mit unser Wiki zu verbessern!
Re: PID des am längsten laufenden Prozesses?
Ja, das geht schon, aber zwischen Killen und Neustart flackert das Display, was stört. Deshalb möchte ich das Programm zuerst neu starten und dann die ältere der beiden dann laufenden Instanzen killen.cronoik hat geschrieben:verstehe ich das richtig: du öffnest fbi über ein Skript und ab und an startest du das Skript erneut um ein anderes Bild anzuzeigen?
Wenn ja könntest du doch am Anfang deines Skriptes fbi killen bevor das neue geöffnet wird?
Deine Frage hat mich allerdings auf eine Idee gebracht, die das Problem löst (und die so einfach ist, dass ich mich nicht traue, sie hier zu veröffentlichen
Gruß
Gregor
PS: Eis für alle!
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
-
- Beiträge: 2049
- Registriert: 18.03.2012 21:13:42
- Lizenz eigener Beiträge: GNU Free Documentation License
Re: PID des am längsten laufenden Prozesses?
Am Anfang pid auslesen, fbi starten, fbi anhand ausgelesener pid killen.
Einmal Vanille bitte.
Edit: ich hatte inzwischen überlegt über zugehen. Hat hier vielleicht jemand eine Idee wie man hätte weitergehen können?
Einmal Vanille bitte.
Edit: ich hatte inzwischen überlegt über
Code: Alles auswählen
top -b -n 1 | grep "fbi" |...
Zuletzt geändert von cronoik am 18.07.2014 00:36:20, insgesamt 1-mal geändert.
Hilf mit unser Wiki zu verbessern!
Re: PID des am längsten laufenden Prozesses?
Ich sag‘ ja, dass es peinlich simpel ist.cronoik hat geschrieben:Am Anfang pid auslesen fbi starten fbi anhand ausgelesener pid killen.
Noch mehr Eis für alle!
Gregor
PS: Man sollte genau dann mit dem Eisessen aufhören können, wenn es einem gerade noch nicht schlecht davon wird. Das Leben ist hart.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
Re: PID des am längsten laufenden Prozesses?
Deshalb bin ich für Eis Bei dieser Hitze heute verheddert man sich nur in den Knoten, die man lösen will.cronoik hat geschrieben:ich hatte inzwischen überlegt überzugehen. Hat hier vielleicht jemand eine Idee wie man hätte weitergehen können?Code: Alles auswählen
top -b -n 1 | grep "fbi" |...
Mein Vorschlag:
Den Test kann man bestimmt hübscher formulieren, aber es funktioniert.#!/bin/bash
PID=`pidof eog`
if [ -n "$PID" ]; then
echo "PID ist $PID"
fbi ...
kill $PID
else
echo "nichts gefunden"
fbi ...
fi
# eof
Am meisten Eis für mich!
Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])