[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 Samstag, 22. September 2007 um 11:41 meinte Andreas Pakulat u. a.:
> On 22.09.07 11:06:00, Sebastian Dellit wrote:
>> am Samstag, 22. September 2007 um 10:37 meinte Andreas Pakulat u. a.:
>> > Das der Prozess im Hintergrund gestartet wird. Besser als sowas ist
>> > aber start-stop-daemon zu benutzen (im Paket dpkg enthalten)
>> 
>> Darauf wieß ich ja in meinem Posting hin, ich habe mir die Vorlage
>> "skeleton" angeschaut, die ja IMHO genau dafür gedacht ist.

> Ich hab den Rest des Threads nicht verfolgt, nur durch Zufall mal
> reingeschaut :)

Das dachte ich mir, ist auch nur so "dahergebrabbelt" gewesen. :-)

>> Nur leider
>> bekomme ich es nicht hin, das es mit dem python Script läuft. Wenn ich
>> das Script starte, dann werden die Dateien, welche direkt durch
>> die python Datei aufgerufen werden, nicht gefunden. Ich kann gerne mal meinen
>> Versuch hier posten, wenn das hilft.

> Du solltest beachten das init-Skripte nicht unbedingt diesselbe Umgebung
> haben wie normale User. Insbesondere enthaelt PATH nur /bin und
> /usr/bin, sowie evtl. /sbin und /usr/sbin. Wenn du in deinem Skript also
> Programme aufrufst, solltest du dies mit absoluten Pfaden machen.
> Ansonsten poste doch mal das Python Skript (falls es nicht zu lang ist)
> und dein init-Skript ebenfalls.

Ich probiere es gerade mit einem anderen GameServer, bei dem ich aber
auf das selbe Problem stoße. Ich versuche es mal zu erklären.

1. Die Anpassung in der skeleton (zu audioquake kopiert) sehen wie
folgt aus:

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="AudioQuake Server"
NAME=start
DAEMON=/home/gs/audioquake/$NAME
[ab hier alles original]
DAEMON_ARGS="--options args"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
[...]

2. Nun die Datei, welche aufgerufen wird:

#!/bin/sh
DIR=/home/gs/audioquake
NAME=start
$PATH/$NAME +gamedir $PATH/id1 -heapsize 32000

3. Beim Versuch, den Server zu starten:

# audioquake start
/home/gs/audioquake/start: line 4: /sbin:/usr/sbin:/bin:/usr/bin/start: Datei oder Verzeichnis nicht gefunden

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.
Zusätzlich findet er dann andere dateien nicht. Vermutlich braucht er
/bin und /sbin eben, um die anderen Dateien zu finden.

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

Wahrscheinlich ist es ein total leicht zu lösendes Problem, wenn man
es weiß. :-)
-- 
Viele Grüße Sebastian
ICQ: 264706583 | MSM: sebo@blinzeln.de | Skype: sebo_de
E-Mail: sebo@blinzeln.de | Web: www.blindzeln.de



Reply to: