Daemons und Kommunikation zwischen Programmen

Dieses Thema im Forum "C/C++" wurde erstellt von devkid, 17.06.2007.

  1. devkid

    devkid Tadaa!

    Dabei seit:
    14.04.2007
    Beiträge:
    64
    Zustimmungen:
    0
    Ort:
    /home
    Ich hätte da mal 2 Fragen:
    1. Wie kann ich mir nen Daemon für z.B. nen Server schreiben? Also, damit ich dann "foinfod"(selbstgeschrieben) aufrufe, das Programm selbst im Hintergrund läuft und man hinterher wieder in die Konsole zurück kommt.
    2. Wie kann ich mit dem dann laufenden Programm kommunizieren? Wie müsste dann der Code in dem Programm aussehen, das ich ansprechen will(also der Daemon), wie in dem, mit dem es angesprochen werden soll(z.B. ein Konfigurations-Proggy)?

    Thx im vorraus.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. StDoe

    StDoe Lebenskünstler

    Dabei seit:
    31.03.2006
    Beiträge:
    78
    Zustimmungen:
    0
    Hi, so richtig verstehe ich deine frage nicht, aber falls du meinst, daß dein selbstgeschriebenes "foinfod" ständig im Hintergrund laufen soll, dann bietet sich 'init' dafür an. Damit kann man prozesse am laufen halten, die unbedingt laufen müssen.
     
  4. devkid

    devkid Tadaa!

    Dabei seit:
    14.04.2007
    Beiträge:
    64
    Zustimmungen:
    0
    Ort:
    /home
    Also nochmal:
    1. Wie kann ich mir das Programm "foinfod" schreiben, welches das Programm "foinfo" ausführt und es im Hintergrund laufen lässt. (also so ähnlich wie /etc/init.d/apache2 mit Parameter "start")
    2. Wie kann ich mit dem ausgeführten Programm "foinfo" kommunizieren. (Pipes?)
     
  5. #4 b00, 17.06.2007
    Zuletzt bearbeitet: 17.06.2007
    b00

    b00 Haudegen

    Dabei seit:
    28.03.2007
    Beiträge:
    597
    Zustimmungen:
    0
    Ort:
    /root
    InterProcessComunication solltest du dir da anschauen! ich würde gleich IP benutzen dann ist es auch gleich netzfähig!
    startproc hilft irgentein programm im hintergrund laufen zu lassen.
     
  6. devkid

    devkid Tadaa!

    Dabei seit:
    14.04.2007
    Beiträge:
    64
    Zustimmungen:
    0
    Ort:
    /home
    Zu InterProcessComunication hab ich so ziemlich gar nix gefunden(Google - 16 Ergebnis, nur Müll). Und startproc ist doch eigentlich ein Programm, wird in C/C++ nicht immer davon abgeraten, ein externes Programm aufzurufen?
     
  7. b00

    b00 Haudegen

    Dabei seit:
    28.03.2007
    Beiträge:
    597
    Zustimmungen:
    0
    Ort:
    /root
  8. musiKk

    musiKk Dr. Strangelove

    Dabei seit:
    30.07.2006
    Beiträge:
    264
    Zustimmungen:
    0
    Ort:
    Leipzig
    Did you mean: Interprocess communication
     
  9. devkid

    devkid Tadaa!

    Dabei seit:
    14.04.2007
    Beiträge:
    64
    Zustimmungen:
    0
    Ort:
    /home
    Das mit dem IPC war genau das, was ich gesucht hab, thx! Das mit den Start-Scripts hab ich jetzt auch kapiert, nur noch eine Frage: wie kann ich einstellen, dass nun das Programm "foinfo" beim hochfahren automatisch ausgeführt wird(also man nicht erst "/etc/init.d/foinitd start" nach einem Login eingeben muss)?
     
  10. #9 b00, 17.06.2007
    Zuletzt bearbeitet: 17.06.2007
    b00

    b00 Haudegen

    Dabei seit:
    28.03.2007
    Beiträge:
    597
    Zustimmungen:
    0
    Ort:
    /root
    schau in die rc.0-9 vrezeichnisse einfach ein link in die runlevel legen S==start K==stop

    das ist höchst distri abhänig!
     
  11. #10 oxcinsha, 17.06.2007
    oxcinsha

    oxcinsha Mitglied

    Dabei seit:
    25.08.2005
    Beiträge:
    44
    Zustimmungen:
    0
    ...schoen, dann brauch dir keiner mehr beizubringen wie man die Konsole nach starten eines Programmes wieder freigibt...also das, was die Programme tun mit denen du dein Programm aufrufen sollst...tztztz...

    ...IPC ist schon etwas praktisches. Erwaehnenswert waere auch D-BUS, UNIX-Sockets, oder eine Named-Pipe...eine Pipe im eigentlichen Sinne macht in diesem Context meiner Ansicht nach keinen Sinn - ja um ggf. zwischen Threads/Prozessen deines Programmes (also nicht von aussen) zu kommunizieren.

    ...stimme b00 zu, ist hoechst distro-Abhaengig...sollte aber immer etwas in Bezug auf den Init-Prozess sein (initscript,rcscript,rc-script). Am besten du liesst dir mal die Manpage zu init durch, und faengst dann oben in der Inittab an...irgendwo entlang dieser Linie kannst du dann dein Prog einbauen...;).

    ...im grossen und ganzen wuerde ich sagen du bist Linux-Neuling, packst die Sache aber richtig an...nur Mut.
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. devkid

    devkid Tadaa!

    Dabei seit:
    14.04.2007
    Beiträge:
    64
    Zustimmungen:
    0
    Ort:
    /home
    Ich nehm jetzt named pipes, die sind wirklich genau das, was ich gesucht hab :D .
    Hast recht, ich bin Linux-Neuling, aber ich hoffe, dass ich in der Community ein bisschen Hilfe bekomme :brav: .
    Jetzt hab ich noch eine Frage: wie kann ich in C/C++ Prozesssignale(z.B. TERM) abfangen? Muss ich da ne bestimmte Funktion für schreiben?
     
  14. #12 musiKk, 18.06.2007
    Zuletzt bearbeitet: 18.06.2007
    musiKk

    musiKk Dr. Strangelove

    Dabei seit:
    30.07.2006
    Beiträge:
    264
    Zustimmungen:
    0
    Ort:
    Leipzig
    Mit sigset meldest du eine Funktion an, die bei Eintreten eines bestimmten Signals zur Signalbehandlung dienen kann. Unter "man sigset" werden auch die anderen nuetzlichen Funktionen wie z. B. sighold und sigignore erlaeutert. SIGSTOP und SIGKILL koennen nicht behandelt werden.
     
Thema:

Daemons und Kommunikation zwischen Programmen

Die Seite wird geladen...

Daemons und Kommunikation zwischen Programmen - Ähnliche Themen

  1. Daemonstatus

    Daemonstatus: hallo, ich will doch nur wissen, ob der smbd läuft. if [ 'ps -e|grep smbd' = 0 ] then echo "Läuft schon" sleep 5 exit 0 fi
  2. Ring: Sprach-, Video- und Chat-Kommunikation ohne zentrale Server

    Ring: Sprach-, Video- und Chat-Kommunikation ohne zentrale Server: Savoir-faire Linux inc. und das SFLphone Development Team haben die erste öffentliche Alphaversion einer neuen Sprach-, Video- und...
  3. Prozesskommunikation mit PIPES - wie funktioniert das?

    Prozesskommunikation mit PIPES - wie funktioniert das?: Hallo erstmal, Ich sitze gerade an einer C-Aufgabe und komme nicht so recht weiter. 3 Programme müssen geschrieben werden: 1. Eines, dass...
  4. NAT: Keine Kommunikation zwischen LAN und öffentlicher Router IP

    NAT: Keine Kommunikation zwischen LAN und öffentlicher Router IP: Moin zusammen, ich beschäftige mich gerade ein wenig mit iptables und NAT und habe mir dazu einen NAT-Router gebastelt. Es sind bereits einige...
  5. Netzwerkkommunikation via 2 Karten

    Netzwerkkommunikation via 2 Karten: Hallo zusammen Ich habe 3 Rechner mit Debian aufgesetzt, welche je 2 Netzwerkkarten inne haben: A: 10.10.10.20 / 10.1.10.20 B: 10.10.10.21 /...