parameter verarbeiten
-
das ist leider nicht standardisiert. Unter Linux kannst du aber im /proc-Dateisystem nachgucken.
-
danke, das hilft mir schon weiter
-
mm sorry das ich mich nochmal melde, aber irgendwie steh ich grad voll auf dem schlauch. also mein vorhaben war ja folgendes: server programmcode als dämon laufen lassen, dabei die PID irgendwo loggen und beim stoppen wieder einlesen, damit ich den dämon killen kann.
wenn ich den dämon wie folgt aktiviere:
if (daemon(0,0<0)){ perror("daemon()"); exit(1); } openlog("mein_daemon", LOG_PID, LOG_DAEMON); syslog(LOG_NOTICE, "mein_daemon läuft! / PID = %d", LOG_PID); closelog();
der log sieht dann so aus:
May 16 15:01:22 xyz mein_daemon[2553]: mein_daemon läuft! / PID = 1
ok ich nehm mal an, [2553] sollte die PID sein, komisch ist nur das ich diese PID nicht unter /proc oder zb. mit eingabe von ps xj finden kann. LOG_PID gebe ich in syslog einfach nur zur kontrolle aus, aber warum wird da 1 geloggt? das müsste dann ja init sein, der parent meines dämons... oh mann
-
äh, LOG_PID ist keine Prozess-ID sondern eine Konstante für die Funktion openlog().
-
ups ;)und wie komm ich an die PID ran?
-
getpid()
-
getpid() kannte ich noch nicht, ok das funktioniert auch.
mein_daemon[2553]
also lag ich ja mit meiner vermutung richtig, das [2553] die PID ist
so nach eingabe von ps -p 2553 wird trotzdem kein prozess angezeigt. ich nehm das erstmal so hin und schreibe weiter.
-
sprudel schrieb:
hm jetzt würde mich noch interessieren, wie ich anhand der PID überprüfen kann ob ein prozess existiert, also sowas wie is_process(PID); gibt es da evtl. eine funktion?
das kannst du mit kill:
kill( die_pid, 0 );
-
wenn du ein bisschen inspiration vom apache brauchst. Schau dir das mal an:
http://apache.hpi.uni-potsdam.de/
Das solltest du ein pdf finden in welchem genau beschrieben ist wie das alles beim Apache aussieht. Also auch mit den ganzen MPMs.
Auch die Sourcen sind da in einer "browsable" From zu finden.
-
danke für eure tip's!
starten und stoppen des daemons funktioniert jetzt so, wie ich es mir vorgestellt habe