Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann man festellen...
Hi,
Wie kann man mit bash (*.sh) festellen ob ein Prozess noch läuft?
Wenn es geht sollte es auch auf Fli4l funktionieren.
Ich brauche es deswegen weil ich ein Programm habe das alle 10-200min abkratz und ich es sonst wieder von hand starten müsste. Es soll natürlich nicht starten wenn es schon läuft.
mfg
wdsl
anda_skoa
21-04-2002, 23:37
#!/bin/sh
RUN=`ps x | grep progname | grep -vc grep`
if test $RUN -eq 0;
then
echo not running;
else
echo running;
fi
hth,
_
Danke dir!!!!
Aber 1 Problem habe ich noch wie schaffe ich, dass das Programm nachdem ich die telnet bzw. ssh sitzung beendet habe, weiterläuft?
Mein Script:
#/bin/sh
RUN=`ps x | grep mldonkeyd | grep -vc grep`
if test $RUN -eq 0;
then
cd /opt/edonkey
mldonkeyd > mldonkeyd.log &
echo edonkey is started;
else
echo edonkey is always running;
fi
mfg
wdsl
anda_skoa
23-04-2002, 17:56
Du könntest das script in einem cron job aufrufen.
Sagen wir alle X Minuten.
man crontab
man 5 crontab
Ich könnte dir auch ein Beispiel cron file schreiben, aebr vielleicht probierst du es zuerst selbst :P
Das bringt mehr, für den Fall das du es später wieder mal brauchst.
Ciao,
_
Hi,
Danke für das Angebot aber so viel mühe brauchst du dir nicht machen.
Ich habe schon vor es irgendwie über cron zu steuern aber es sollte auch über telnet funktionieren. Soweit ich bis jetzt weiß kann man mit & den Prozess nach einer Telnet Sitzung weiterlaufen lassen. Aber das funktioiert noch nicht so ganz.
Code Ausschnitt:
mldonkeyd > mldonkeyd.log &
>Ich könnte dir auch ein Beispiel cron file schreiben
wie meinst du dass?
Ich hätte gedacht das man mit bash keine zeitgesteuerten Sachen machen kann.
Aber es wäre echt super wenn es gehe würde :-))
Wenn es geht kann ich das einfach in das Script reinschreiben?
Danke nochmal für deine hervorragenden Antworten, finde ich echt toll von dir.
mfg
wdsl
anda_skoa
24-04-2002, 00:06
Original geschrieben von wdsl
Hi,
Danke für das Angebot aber so viel mühe brauchst du dir nicht machen.
Ich habe schon vor es irgendwie über cron zu steuern aber es sollte auch über telnet funktionieren. Soweit ich bis jetzt weiß kann man mit & den Prozess nach einer Telnet Sitzung weiterlaufen lassen. Aber das funktioiert noch nicht so ganz.
Hmm, bei ssh geht das, kann sein dass das bei Telnet anders ist, oder es von Systemeinstellungen abhängt.
Schau dir mal nohup und screen and.
Das sind zwei tools, die dafür gemacht wurden.
Zu dem Thema Prozesse nach ausloggen weiterlaufen lassen, gibt es einige Postings mit Tipps auf linuxforen.de.
>Ich könnte dir auch ein Beispiel cron file schreiben
wie meinst du dass?
Ich hätte gedacht das man mit bash keine zeitgesteuerten Sachen machen kann.
Aber es wäre echt super wenn es gehe würde :-))
Wenn es geht kann ich das einfach in das Script reinschreiben?
Das hab ich so gemeint.
Man benutzt eine Datei, um den crontab EIntrag zu machen.
Du kannst das Setzten des crontabs natürlich in einem skript machen.
das crontab file donkeycron
#Crontab Eintrag
0/5 * * * * $HOME/donkeycheck.sh
das script donkeyctrl
#!/bin/bash
case $1 in
start)
crontab donkeycron
;;
stop)
crontab -r # remove all crontab entries
*)
echo usage: donkeyctrl start | stop
esac
Danke nochmal für deine hervorragenden Antworten, finde ich echt toll von dir.
Keine Ursache, das macht mir Spaß :)
Ciao,
_
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.