Startscript: auf eine extern liegende *.pid..[GELÖST]

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

Startscript: auf eine extern liegende *.pid..[GELÖST]

Beitrag von Payne_of_Death » 01.09.2004 01:28:19

Hey,

ich komm bei meinem Script hier nicht richtig weiter. Problem hierbei ist das die *.pid File nicht in /var/run generiert wird sondern in einem anderen Pfad.

Und diesen Pfad müsste ich mit der *.pid File kombinieren:

Nachfolgend das gekürzte Script aufs wesentliche:

Code: Alles auswählen

DAEMON_DESC="IRC-SERVER :QUAKENET:"
DAEMON_BIN="/data1/progs/irc/quakenet/bin/ircd"
DAEMON_PID="/data1/progs/irc/quakenet/lib"
DAEMON_PROC="ircd"
DAEMON_LOGFILE="/var/logfiles/${DAEMON_PROC}.log"
DAEMON_OPTIONS=""

# --- don't edit below ---
#-------------------------------------------------------- 
#
# get_pid()
#
#-------------------------------------------------------- 
get_pid()
{
PID=`ps aux | grep -v grep | grep ${DAEMON_PID}/${DAEMON_PROC} | awk '{print $2}'`
}
Ich habe hier schon versucht das anzuhängen klappt aber nicht.......
Zuletzt geändert von Payne_of_Death am 01.09.2004 16:49:04, insgesamt 1-mal geändert.
Das System was mich zu Fall bringt muss erst mal geboren werden.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 01.09.2004 08:35:19

Für das Script doch mal mit "sh -x deinscript.sh" aus, dann siehst Du ein paar mehr Infos, was das Script eigentlich so anstellt. Und wenn Du siehst, wo was schiefgeht, einfach mal diese Befehle per Hand im Terminal abfeuern, so kommt man eigentlich recht schnell ans Ziel.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

Beitrag von Payne_of_Death » 01.09.2004 11:25:08

mistersixt hat geschrieben:Für das Script doch mal mit "sh -x deinscript.sh" aus, dann siehst Du ein paar mehr Infos, was das Script eigentlich so anstellt. Und wenn Du siehst, wo was schiefgeht, einfach mal diese Befehle per Hand im Terminal abfeuern, so kommt man eigentlich recht schnell ans Ziel.

Gruss, mistersixt.
Wo was schief geht weiss ich ja und zwar hier:

Code: Alles auswählen

PID=`ps aux | grep -v grep | grep ${DAEMON_PID}/${DAEMON_PROC} | awk '{print $2}'`
Ich erhalte hier keine PID daher läuft für das Script der Prozess nicht.....Aber warum weiss ich nicht...
Das System was mich zu Fall bringt muss erst mal geboren werden.

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Startscript: auf eine extern liegende *.pid referenzieren?

Beitrag von roli » 01.09.2004 14:25:48

Hi,
Payne_of_Death hat geschrieben:ich komm bei meinem Script hier nicht richtig weiter. Problem hierbei ist das die *.pid File nicht in /var/run generiert wird sondern in einem anderen Pfad.
mit /var/run hat das nix zu tun. Wie du ja bemerkt hast, ist nachfolgende Zeile die interessante.
Payne_of_Death hat geschrieben:

Code: Alles auswählen

PID=`ps aux | grep -v grep | grep ${DAEMON_PID}/${DAEMON_PROC} | awk '{print $2}'`
Hier wird eine Liste aller Prozesse folgendermassen gefiltert, zuerst werden alle grep Prozesse aus der Liste entfernt, dann wird ebenfalls mittels grep nach "/data1/progs/irc/quakenet/lib/ircd" gesucht. Das Ergebnis dieser suche wird an awk gepiped, was aus dem Eingabestrom lediglich das Feld Nr. 2 (die PID) ausgiebt. Diese Ausgabe landet dan in der Variable PID. Wenn da also "Mist" ankommt, liegt das daran das grep den Prozess nicht findet. Dies kann zwei Ursachen haben:
- (trivial) der Prozess laeuft nicht
- der Prozess wird nicht gefunden weil dein Suchstring falsch ist

Ich tippe mal auf Ursache 2. Starte den Dienst mal manuell, und such mal von Hand die Zeile aus dem Output von "ps aux" raus. Das was du da findest, muss in die Variablen DAEMON_PROC und DAEMON_PID stehen.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

Re: Startscript: auf eine extern liegende *.pid referenzieren?

Beitrag von Payne_of_Death » 01.09.2004 16:48:18

roli hat geschrieben:Hi,
Payne_of_Death hat geschrieben:ich komm bei meinem Script hier nicht richtig weiter. Problem hierbei ist das die *.pid File nicht in /var/run generiert wird sondern in einem anderen Pfad.
mit /var/run hat das nix zu tun. Wie du ja bemerkt hast, ist nachfolgende Zeile die interessante.
Payne_of_Death hat geschrieben:

Code: Alles auswählen

PID=`ps aux | grep -v grep | grep ${DAEMON_PID}/${DAEMON_PROC} | awk '{print $2}'`
Hier wird eine Liste aller Prozesse folgendermassen gefiltert, zuerst werden alle grep Prozesse aus der Liste entfernt, dann wird ebenfalls mittels grep nach "/data1/progs/irc/quakenet/lib/ircd" gesucht. Das Ergebnis dieser suche wird an awk gepiped, was aus dem Eingabestrom lediglich das Feld Nr. 2 (die PID) ausgiebt. Diese Ausgabe landet dan in der Variable PID. Wenn da also "Mist" ankommt, liegt das daran das grep den Prozess nicht findet. Dies kann zwei Ursachen haben:
- (trivial) der Prozess laeuft nicht
- der Prozess wird nicht gefunden weil dein Suchstring falsch ist

Ich tippe mal auf Ursache 2. Starte den Dienst mal manuell, und such mal von Hand die Zeile aus dem Output von "ps aux" raus. Das was du da findest, muss in die Variablen DAEMON_PROC und DAEMON_PID stehen.
Danke für die wunderbare Erklärung ich habe das ganze anders interpretiert aber jetzt weiss ich auch warum das ganze nicht funktioniert hat.
Ich habe auf die *.pid referenziert obwohl ich diese gar nicht brauche sondern nur den Aufruf Commando :wink:
Das System was mich zu Fall bringt muss erst mal geboren werden.

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 04.09.2004 11:39:21

Hi,

kein Thema, wenn ich die Zeit habe. Ich habe auch immer wieder Probleme, die "handgemacht" sind, die fuer mich ohne fremde Hilfe nicht loesbar sind. :)
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Antworten