Hallo!
* Till Wollenberg schrieb am 13.Okt.2000:
Bernd Brodesser schrieb:
Wenn überhaupt, dann daß sie keinem Terminal zugeordnet sind. Das erreicht man am besten, indem sie direkt oder indirekt von init gestartet werden. Zum Beispiel über einem startskrip in /sbin/init.d oder in /sbin/init.d/boot.local
Ich stehe beim Umstieg auf C leider auch noch am Anfang. Allerdings habe ich schon ein bischen über Daemons gelernt. Der normale Weg ein Programm in den Hintergrund zu befördern ist wohl die Standardein- und Ausgabestreams zu schließen.
Ja, aber das machst Du aber bitte nicht selber mit dem Programm, das macht die bash. Solange Du keine shell selber programmieren willst, laß lieber die Finger davon.
Wieso macht das nur die Shell? Ich kann zwar jedes Programm mit angehängtem & starten, um es in den Hintergrund zu befördern, aber einige Programme (squid, imwheel etc.) starten von sich aus im Hintergrund. Wie machen die das denn?
Um mit dem Programm kommunizieren zu können werden sog. Sockets benutzt. Sockets sind Datenverbindungen zwischen Programmen auf dem selben oder per Netzwerk erreichbaren Rechnern. Es handelt sich dabei AFAIK nicht um "normale" TCP/IP-Verbindungen.
Wie Du richtig schreibst werden Sockets für TCP/IP benutzt. Die normale Komunikation zwichen Programme werden mit pipes gemacht. Die legst Du mit dem Systemaufruf pipe () an. Siehe hierzu man 2 pipe.
Das ist alles noch ziemlich komplex. Ich werde mich in der nächsten Zeit damit auseinandersetzen (müssen). Ich hoffe, die Liste kann mir bei nicht allzu "dummen" Fragen helfen. ;-) Gruß, Till. --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com