Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Script-Check ob Deamon läuft oder nicht

15 views
Skip to first unread message

Stefan Block

unread,
Feb 22, 2002, 12:10:29 PM2/22/02
to
Hallo,

ich bräuchte für einen Cron-Job ein Script, welches checkt, ob der
smpppd-Deamon läuft oder nicht und wenn nicht, soll es ihn neustarten.

Den Status kann man abfragen mit: rcsmpppd status

Kommt entweder:
Checking for SMPPPD: running

oder

Checking for SMPPPD: unused


Wie kann ich das realisieren (Shell-Programmierungs-Newbie)?
(SuSE 7.3, 2.4.10)

Danke!

Stefan Block

Sebastian Kaps

unread,
Feb 22, 2002, 12:35:26 PM2/22/02
to
Stefan Block schrieb:

> ich bräuchte für einen Cron-Job ein Script, welches checkt, ob der
> smpppd-Deamon läuft oder nicht und wenn nicht, soll es ihn neustarten.

Was spricht gegen "/sbin/pidof smpppd || <starte smpppd>"?

--
Ciao, Sebastian

* Email: toy...@sauerland.de
* HP: http://www.sauerland.de/~toyland/ PGP-Key available

Aldo Valente

unread,
Feb 22, 2002, 1:16:27 PM2/22/02
to
Stefan Block wrote:

> ich bräuchte für einen Cron-Job ein Script, welches checkt, ob der
> smpppd-Deamon läuft oder nicht und wenn nicht, soll es ihn neustarten.
>
> Den Status kann man abfragen mit: rcsmpppd status

> Checking for SMPPPD: running

> Wie kann ich das realisieren (Shell-Programmierungs-Newbie)?
> (SuSE 7.3, 2.4.10)

Als Neuling lernt man IMHO am besten durch abkupfern. Hättest Du
reingeschaut, wärest Du wahrscheinlich schon fertig.
Folgendes finde ich in /etc/init.d/skeleton, das
Beispielscript für eigene Sachen:


status)
echo -n "Checking for FOO: "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.

# Status has a slightly different for the status command:
# 0 - service running
# 1 - service dead, but /var/run/ pid file exists
# 2 - service dead, but /var/lock/ lock file exists
# 3 - service not running

# NOTE: checkproc returns LSB compliant status values.
checkproc $FOO_BIN
rc_status -v
;;
"rcsonstwas status" liefert also einen definierten Rückgabewert
mittels checkproc. Hat Dein rcsmpppd auch folgendes?

try-restart)
## Stop the service and if this succeeds (i.e. the
## service was running before), start it again.
## Note: try-restart is not (yet) part of LSB (as of 0.7.5)
$0 status >/dev/null && $0 restart

# Remember status and be quiet
rc_status
;;


Aldo

Patrick Baer

unread,
Feb 22, 2002, 9:32:31 PM2/22/02
to
Sebastian Kaps wrote:

> Was spricht gegen "/sbin/pidof smpppd || <starte smpppd>"?

Also bei mir zum Beispiel das es das nicht gibt.

Ich löse das immer mit ps -xa|egrep sendmail|egrep -v grep ||
/usr/sbin/sendmail

Wenn mir jemand da nen Tip geben würde wie ich die zwei greps zu einem
machen kann wäre ich übrigens recht dankbar ;)

lg


--
PB-Systeme IT-Dienstleistungen
email in...@pb-systeme.de
Internet http://www.pb-systeme.de

Helmut Hullen

unread,
Feb 23, 2002, 1:33:00 AM2/23/02
to
Hallo, Patrick,

Du (pba) meintest am 23.02.02:

> Ich loese das immer mit


> ps -xa|egrep sendmail|egrep -v grep || /usr/sbin/sendmail

> Wenn mir jemand da nen Tip geben wuerde wie ich die zwei greps zu
> einem machen kann waere ich uebrigens recht dankbar ;)

(ungetestet)
ps -xa|egrep [s]endmail|| /usr/sbin/sendmail
^wird zu "sendmail" umgebaut

Viele Gruesse!
Helmut

Juergen Salk

unread,
Feb 23, 2002, 3:36:03 AM2/23/02
to
Patrick Baer wrote:

> ps -xa|egrep sendmail|egrep -v grep || /usr/sbin/sendmail
>
> Wenn mir jemand da nen Tip geben würde wie ich die zwei greps zu einem
> machen kann wäre ich übrigens recht dankbar ;)

ps -xa | egrep [s]endmail || ...

"egrep [s]endmail" sucht in der Prozessliste nach dem String "sendmail",
taucht selbst aber als "egrep [s]endmail" auf, wodurch es sich selbst
nicht matchen kann.

Beste Grüsse - Jürgen

Volker Moell

unread,
Feb 23, 2002, 5:20:39 AM2/23/02
to
Patrick Baer wrote:
>
> Ich löse das immer mit ps -xa|egrep sendmail|egrep -v grep ||
> /usr/sbin/sendmail
>
> Wenn mir jemand da nen Tip geben würde wie ich die zwei greps zu einem
> machen kann wäre ich übrigens recht dankbar ;)

Neuere ps koennen das Argument -C:
-C select by command name

Also einfach
$ ps -xa -C sendmail
statt dem ps|grep|grep-Kontrukt machen.

-volker

--
http://die-Moells.de/ * http://Stama90.de/ * http://ScriptDale.de/

"Amnesia used to be my favorite word, but then I forgot it."

Stefan Block

unread,
Feb 23, 2002, 10:20:17 AM2/23/02
to
Sebastian Kaps wrote:

>
> Was spricht gegen "/sbin/pidof smpppd || <starte smpppd>"?
>

Kommt bei mir nur:

linux:/home/sbl # /sbin/pidof smpppd || <starte smpppd>
bash: syntax error near unexpected token `smpppd>'

Felix von Leitner

unread,
Feb 23, 2002, 10:22:05 AM2/23/02
to
Thus spake Stefan Block (Stefan...@t-online.de):

> linux:/home/sbl # /sbin/pidof smpppd || <starte smpppd>
> bash: syntax error near unexpected token `smpppd>'

Du bist zu blöd zum Kacken.
Bitte springe vom nächsten Hochhaus mit mehr als 12 Stockwerken.
Danke.

Stefan Block

unread,
Feb 23, 2002, 10:23:42 AM2/23/02
to
Aldo Valente wrote:

>
> Als Neuling lernt man IMHO am besten durch abkupfern. Hättest Du
> reingeschaut, wärest Du wahrscheinlich schon fertig.
> Folgendes finde ich in /etc/init.d/skeleton, das
> Beispielscript für eigene Sachen:
>
>
> status)
> echo -n "Checking for FOO: "
> ## Check status with checkproc(8), if process is running
> ## checkproc will return with exit status 0.
>
> # Status has a slightly different for the status command:
> # 0 - service running
> # 1 - service dead, but /var/run/ pid file exists
> # 2 - service dead, but /var/lock/ lock file exists
> # 3 - service not running
>
> # NOTE: checkproc returns LSB compliant status values.
> checkproc $FOO_BIN
> rc_status -v
> ;;

Keine Checkung! Was soll ich damit anfangen?

> "rcsonstwas status" liefert also einen definierten Rückgabewert
> mittels checkproc. Hat Dein rcsmpppd auch folgendes?
>
> try-restart)
> ## Stop the service and if this succeeds (i.e. the
> ## service was running before), start it again.
> ## Note: try-restart is not (yet) part of LSB (as of 0.7.5)
> $0 status >/dev/null && $0 restart
>
> # Remember status and be quiet
> rc_status
> ;;
>
>
> Aldo

Würde gehen, nur wird der Dienst vorher auch gestoppt. Das gilt es aber zu
vermeiden.

Hat nicht jemand für mich zwei (oder auch drei) fertige Zeilen mit denen
das zu realisieren ist?

Stefan Block

unread,
Feb 23, 2002, 11:02:03 AM2/23/02
to
Auch das Einfachste kommt man immer zum Schluss:

einfach rcsmpppd start

wenn bereits gestartet, passiert nichts und wenn nicht wird er gestartet.

Danke!

Stefan Block

unread,
Feb 23, 2002, 11:03:51 AM2/23/02
to
Felix von Leitner wrote:

>
> Du bist zu blöd zum Kacken.
> Bitte springe vom nächsten Hochhaus mit mehr als 12 Stockwerken.
> Danke.

Danke für die Beleidigung.

Sag mir einfach, was ich falsch gemacht habe, und erläutere, was in der
Zeile passiert..

Frederick Page

unread,
Feb 23, 2002, 11:15:25 AM2/23/02
to
Stefan Block <Stefan...@t-online.de> wrote:

>ich bräuchte für einen Cron-Job ein Script, welches checkt, ob der
>smpppd-Deamon läuft oder nicht und wenn nicht, soll es ihn neustarten.

Warum startest Du den Daemon nicht über inetd, der macht nämlich genau
das was Du willst. Sobald der Task nicht (mehr) läuft, wird er neu
gestartet.

man inetd

FFPX Frederick

--
Failure is not an option. It comes bundled with your Microsoft product.

Jan Schampera

unread,
Feb 23, 2002, 4:48:15 PM2/23/02
to

Setz einfach für <starte smpppd> das Kommando zum starten des Daemons ein.
Daß "<starte smpppd>" kein Kommando/Shellbefehl ist, ist doch wohl klar,
insofern muß ich dem Grundgedanken von Felix' posting recht geben.

Gruß
Jan

--

Registered Linux User #246982 (http://counter.li.org)


Stefan Block

unread,
Feb 23, 2002, 7:27:33 PM2/23/02
to
Frederick Page wrote:

> Warum startest Du den Daemon nicht über inetd, der macht nämlich genau
> das was Du willst. Sobald der Task nicht (mehr) läuft, wird er neu
> gestartet.
>

Ich brauche aber eine gewisse Zeit ohne den laufenden Daemon. Bei dieser
Lösung wird doch bestimmt direkt nach dem Beenden neugestartet, nehme ich
an.

Habe Problem mittlerweile anders gelöst (siehe Posting:"Gelöst:...")

Felix von Leitner

unread,
Feb 23, 2002, 7:41:11 PM2/23/02
to
Thus spake Frederick Page (fp...@fuckmicrosoft.com):

> >ich bräuchte für einen Cron-Job ein Script, welches checkt, ob der
> >smpppd-Deamon läuft oder nicht und wenn nicht, soll es ihn neustarten.
> Warum startest Du den Daemon nicht über inetd, der macht nämlich genau
> das was Du willst. Sobald der Task nicht (mehr) läuft, wird er neu
> gestartet.

> man inetd

Warum "hilfst" du anderen, wenn du selber keine Ahnung hast?
Dieser Unfug ist jetzt in den Newsgroup-Archiven und verwirrt
möglicherweise noch andere Leute, die es auch nicht wissen, aber im
Gegensatz zu unserem Spezialisten hier erst recherchieren.

Cancele bitte obiges Müll-Posting, um den Schaden einzugrenzen, den du
anrichtest.

Restarten von Diensten macht nicht inetd sondern init.

Felix

Michael Mauch

unread,
Feb 23, 2002, 8:56:21 PM2/23/02
to
Juergen Salk <juerge...@gmx.de> wrote:

> ps -xa | egrep [s]endmail || ...
>
> "egrep [s]endmail" sucht in der Prozessliste nach dem String "sendmail",
> taucht selbst aber als "egrep [s]endmail" auf, wodurch es sich selbst
> nicht matchen kann.

ps -xa | egrep '[s]endmail' || ...

ist besser, da ohne die Apostrophe (oder Anführungszeichen) schon die
Shell die eckigen Klammern fürs Globbing benutzt. Wenn man sich in einem
Directory befindet, in dem es ein "sendmail" gibt, führt die Shell sonst
wieder nur

ps -xa | egrep sendmail

aus:

% ps -xa | egrep [s]endmail
458 ? S 0:00 sendmail: accepting connections on port 25
23536 pts/1 S 0:00 egrep sendmail


Viele Grüsse...
Michael

Frederick Page

unread,
Feb 24, 2002, 2:31:39 PM2/24/02
to
Stefan Block <Stefan...@t-online.de> wrote:

>>Warum startest Du den Daemon nicht über inetd

Das war leider Unsinn meinerseits, natürlich muß es "init" heißen :-/

>Ich brauche aber eine gewisse Zeit ohne den laufenden Daemon.

Hm, dann ist das nicht geeignet, denn Du hast völlig recht:

>Bei dieser Lösung wird doch bestimmt direkt nach dem Beenden
>neugestartet, nehme ich an.

FFPX Frederick

--
This Would Be Really Funny If It Weren't Happening To Me

0 new messages