Forum: PC-Programmierung C++ Programm nur einmal Starten; Eingabe an bestehenden Prozess weiterleiten


von Günther (Gast)


Lesenswert?

Hallo,

ich steh vor dem Problem, dass ich eine Linux Einplatinencomputer habe, 
auf dem ein mini_httpd und ein eigenes Programm als Prozess laufen.

Ich möchte nun über cgi an dieses laufende Programm Daten übertragen.

Eine Idee von mir ist, mein eigenes Programm in den CGI Ordner zu legen. 
Beim Aufruf dessen merkt dieses, dass bereits ein Prozess gestartet 
wurde und leitet die Eingabe an dieses weiter.

Ich stell mir das händisch grad etwas aufwendig vor. Ich muss zuerst die 
Prozessliste scannen, dann ne Pipe aufmachen, Daten übertragen und auf 
Antwort warten.

Ist das die einfachste Möglichkeit?

Die Ein- und Ausgabe über eine Datei oder Datenbank (mit Flags o.ä.) zu 
machen halte ich nicht  für sinnvoll. Eignet sich evtl. auch eine 
Socketverbindung hierfür?

Gibt es da elegantere Möglichkeiten?

bis dann
Günther

von Programmierer (Gast)


Lesenswert?

Nimm ein FIFO (siehe manpage "mkfifo", glaube ich). Das ist quasi ein 
Pipe durch eine Datei. So musst du nur die entsprechende Datei öffnen 
und reinschreiben.

von Peter II (Gast)


Lesenswert?

Günther schrieb:
> Gibt es da elegantere Möglichkeiten?

ja viele: IPC ist das Stichwort.

https://de.wikipedia.org/wiki/Interprozesskommunikation

Sockets,  Named Pipes, Shared Memory usw.

von Karl Käfer (Gast)


Lesenswert?

Hallo Günter,

Günther schrieb:
> Gibt es da elegantere Möglichkeiten?

Was spricht gegen Python mit BaseHTTPServer? Dann kannst Du Dir 
mini_httpd, CGI und die ganze IPC-Geschichte ersparen.

HTH,
Karl

von Andreas R. (andreasr)


Lesenswert?

Karl Käfer schrieb:
> Was spricht gegen Python mit BaseHTTPServer?

Vielleicht auch Python + Flask?
http://code.tutsplus.com/tutorials/an-introduction-to-pythons-flask-framework--net-28822

von Karl Käfer (Gast)


Lesenswert?

Hallo Andreas,

Andreas Richter schrieb:
> Karl Käfer schrieb:
>> Was spricht gegen Python mit BaseHTTPServer?
>
> Vielleicht auch Python + Flask?
> 
http://code.tutsplus.com/tutorials/an-introduction-to-pythons-flask-framework--net-28822

Gute Idee!

Liebe Grüße,
Karl

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Günther schrieb:
> Gibt es da elegantere Möglichkeiten?

Vielleicht wäre es ein gangbarer Weg, in Dein eigenes Program einen HTTP 
Server mit zu integrieren. Je nach Programmiersprache gibt es da 
unterschiedliche Möglichkeiten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.