On Wednesday 11 July 2001 01:07, Norbert Roth wrote:
Am 10-Jul-01 schrieb Gerhard Feiner:
On Tuesday 10 July 2001 20:34, Norbert Roth wrote:
Hallo Gerhard, am 10-Jul-01 schriebst Du:
Also, ich hab mir mal eine SuSE angeschaut: Leider benutzt SuSE zum starten der Programme aus den Init-Scripts keine Funktion, die in einem Script festgelegt ist, sodern eine Binaerdatei /usr/sbin/startproc. In die kann man leider nur schlecht reinschauen :-) Darum ein Workaround: Fuege in Deinem /etc/init.d/atd-Script unter start) nach dem 'startproc /pfad/atd' folgende Zeile ein: echo `pidof atd` > /var/run/atd.pid Damit wird die PID direkt beim Start von atd in die /var/run/atd.pid geschrieben, ohne dass du was haendisch aendern muesstest (nagut, dieses eine Mal). Danach sollte immer eine gueltige PID von atd vorhanden sein. Noch ein Hinweis: Normalerweise laesst man die Start-Geschichten durch ein Script erledigen, das (unter anderem) folgendes enthaelt: loadproc() { if [ $# = 0 ] then echo "Usage: loadproc {program}" exit 1 fi base=$(/usr/bin/basename $1) pidlist=$(/bin/pidof -o $$ -o $PPID -o %PPID -x $base) pid="" for apid in $pidlist do if [ -d /proc/$apid ] then pid="$pid $apid" fi done if [ ! -n "$pid" ] then $* evaluate_retval else $SET_WCOL echo -n "Already running" print_status warning fi } Einige Variablen und Funktionen (z.B. evaluate_retval) werden ebenfalls in diesem Script definiert, und sind darum nicht unbedingt ersichtlich. evaluate_retval macht aber nix anderes als SuSE's rc_status - es stellt fest, ob der Prozess erfolgreich gestartet wurde und gibt entsprechend "done", "fail" oder "attn" aus. Ebenso ist loadproc() das, was SuSE mit der Binaerdatei /usr/sbin/startproc macht. Das ganze befindet sich in einem /etc/init.d/functions-Script, das in den einzelnen Init-Scripten via . /etc/init.d/functions eingebunden (gesourced) wird.
Danke im voraus,
Keine Ursache mfg, gerd -- /"\ \ / ASCII Ribbon Campaign x Say NO to HTML in email and news !! / \