[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: start-stop-daemon und python



Hallo Andreas und Leser und Leserinnen,

am Donnerstag, 27. September 2007 um 12:13 meinte Andreas Pakulat u. a.:
>> 2. Nun die Datei, welche aufgerufen wird:
>> 
>> #!/bin/sh
>> DIR=/home/gs/audioquake
>> NAME=start
>> $PATH/$NAME +gamedir $PATH/id1 -heapsize 32000

> Nicht gut. Ich denke du moechtest hier $DIR statt $PATH benutzen. PATH
> ist eine Variable mit mehreren Pfaden in denen die Shell nach
> ausfuehrbaren Programmen sucht.

Stimmtt, das sollte wirklich $DIR werden. Da bin ich wohl kurzzeitig
auf $PATH "hängengeblieben". *g*

>> Irgendwas scheint es also mit $PATH im init Script zu tun haben, nur
>> was? Ich habe dort mal versucht, auch den Pfad einzufügen, in dem der
>> Server läuft, jedoch nützt das nichts. Wenn ich $PATH im init Script
>> leere und nur mit dem Pfad für den Server füttere, geht es auch nicht.

> Vermutlich weil dann Binaries nicht mehr gefunden werden. Warum hast du
> nicht mal versucht statt der Variablen die Pfade/Dateien voll
> auszuschreiben?

Weil ja, normalerweise, die Variablen den Inhalt haben sollten, den
ich ihnen zuweise. Daher habe ich es gleich so gemacht. Aber zum
Testen ist es wohl auch nicht verkehrt, ohne Variablen zu arbeiten.

>> Oder muss ich an dieser Stelle eine ähnliche Zuweisung machen wie
>> /bin:/usr/bin? Also z. B. /audioquake:/home/gs/audioquake

> Schonmal in debian anwenderhandbuch geschaut, speziell Kapitel ueber
> Unix und Shell Grundlagen ;) 

Die Unix Grundlagen habe ich gefunden, von Shell Grundlagen war leider
nichts zu finden. :-(

Ich habe jetzt noch einmal die Pfade ohne Variablen angegeben, der
Start funktioniert, das Script wird gefunden und ausgeführt. Jedoch
tat sich gleich ein weiteres Problem auf:

Bei diesem Server kann man, mit +gamedir id1 eine "Ecke" angeben, die
als Hauptfad angesehen wird, wo sich die Spieldateien etc. befinden.
Wenn ich nun in dem oben genannten Script

# /home/gs/audioquake/zqds +gamedir /home/gs/audioquake/id1

eingebe, so erhalte ich die Meldung, das gamedir nur Dateien, aber
keine Ordner akzeptiert. Wenn ich den Server direkt, also ohne das
Script aufrufe, dann wie folgt:

./zqds +gamedir id1

Und das funktioniert. Auch wenn ich das Script so anpasse, das es:

# /home/gs/audioquake/zqds +gamedir id1

lautet, und dann in das Verzeichnis wechsel um das Script manuell
auszuführen, funktioniert es.

Ist es möglich vorher in das Verzeichnis zu
wechseln, so das /home/gs/audioquake das working directory ist? Ein
vorheriges cd /home/gs/audioquake && ... bringt leider nichts.

Ich habe mir nun so geholfen, wie ich es in anderen Scripts gesehen
habe, und so scheint es zu gehen:

# su -c "cd $DIR && ./zqds +gamedir id1" $USER -

Wobei ich die Variablen mit den Daten ersetze.

Ist das der richtige Weg?
-- 
Viele Grüße Sebastian
ICQ: 264706583 | MSM: sebo@blinzeln.de | Skype: sebo_de
E-Mail: sebo@blinzeln.de | Web: www.blindzeln.de



Reply to: