prozess gezielt abschalten

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
uranus
Beiträge: 13
Registriert: 21.07.2003 16:05:24
Wohnort: Deutschland

prozess gezielt abschalten

Beitrag von uranus » 06.06.2004 15:44:12

hi,

ich habe auf meinem linux server (debian) einen chatserver laufen. der chat basiert auf java /j2sdk) und wird auch über java gestartet
mittels:
nohup /j2sdk1.4.2_03/bin/java -server Main_Serv &

das a) eine log datei vorliegt und b) die shell geschlossen werden kann, ohne den prozess zu killen.
normal beende ich das ganze mit killall java, was wahrlich eine sehr unbrauchbare lösung ist, weil ich damit alles andere auch noch erledige, vor allem, da demnächst ein 2ter chat parallel laufen wird.

daher meine frage, kann ich den prozess so starten, dass er einen festzugeordneten namen oder eine feste ID hat, so dass ich ihn entsprechend gezielt beenden kann ?

thx

stargaizer
Beiträge: 152
Registriert: 01.04.2004 10:09:25
Kontaktdaten:

Beitrag von stargaizer » 06.06.2004 16:38:33

Hi uranus,

wenn du in deinem Startscript oder in der bash die Shellvariable $! abfragst, bekommst du die PID von dem zu letzt in den Hintergrund abgesetzten Prozess. Schreib die am besten in eine Datei weg.

Grüße

Matthias

Benutzeravatar
Raoul
Beiträge: 1435
Registriert: 20.05.2003 00:16:35
Lizenz eigener Beiträge: neue BSD Lizenz
Kontaktdaten:

Beitrag von Raoul » 06.06.2004 17:05:41

Das würde ich dann am besten über die init machen.

Code: Alles auswählen

cd /etc/init.d
cp skeleton javachat1
nano javachat1
DAEMON="/j2sdk1.4.2_03/bin/java -server Main_Serv"
NAME="java -server Main_Serv"
DESC="First Java Chat Server on $HOST"

Code: Alles auswählen

update-rc.d javachat1 defaults 99 01
Damit wird der Chat automatisch gestartet und getoppt. Das gleiche später für den 2. Java Chat. Der start-stop-daemon sollte sich darum kümmern, automatisch eine pid-Datei anzulegen, Du kannst also immer /etc/init.d/javachat1 start/stop/restart machen.

Raoul

edit: kl. Fehler beseitigt: $Host statt %HOST
Zuletzt geändert von Raoul am 08.06.2004 14:34:12, insgesamt 1-mal geändert.

Code: Alles auswählen

grep -ir fuck /usr/src/linux

uranus
Beiträge: 13
Registriert: 21.07.2003 16:05:24
Wohnort: Deutschland

Beitrag von uranus » 08.06.2004 12:26:26

hallo,

erstmal danke für eure tipps.
ich hab mich für die möglichkeit über das init entschieden, da dort dann auch die möglichkeit der programmierung einer php basierten administration besteht.

leider ist ein problem aufgetreten, das starten, stoppen und neustarten funktioniert einwandfrei, allerdings kommen im chat output nun umlaute wie ä,ü,ö oder auch ß nicht mehr richtig heraus, sondern werden durch ein sonderzeichen ersetzt (obwohl deutsche sprachfiles)

woran kann das liegen ?

Benutzeravatar
Raoul
Beiträge: 1435
Registriert: 20.05.2003 00:16:35
Lizenz eigener Beiträge: neue BSD Lizenz
Kontaktdaten:

Beitrag von Raoul » 08.06.2004 14:19:49

Die dt. Sprache bzw. die Umgebungsvariablen dafür werden beim Einloggen gesetzt, da aber keiner eingeloggt ist, passiert das nicht. Siehe Punkt 7 in http://www.debianforum.de/wiki/?page=Di ... +umstellen

Du mußt wahrscheinlich in Deinem Start-Stop-Skript noch ein "export LANG=de_DE@euro" einbauen, bevor der Chat gestartet wird.

Um das Problem zu lokalisieren: Was sagt "export" als user und was was, wenn es z. B. über einen cronjob ausgeführt wird. Da sollten die fehlenden Umgebungsvariablen gleich auffallen.

Raoul

Code: Alles auswählen

grep -ir fuck /usr/src/linux

Antworten