Linux: in Screen-Sitzung etwas automatisiert "hineinschreiben"
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
aufruf
ausgabe
befehl
einfachen eingaben
fragliche programm
helfen
kennen
kommunizieren
konsole
laufen
laufzeit
problem
programm
quellcode
server
simplen befehlen
steuer
url
vorgegebenen optionen
zeile
-
Hallo!
Ich habe zu hause ein Programm auf meinem Server laufen, das ich mit screen aufrufe. Nun möchte ich das Programm aber gerne via PHP steuert, zu steuern ist das Programm mit einfachen eingaben und ausgaben. Nur habe ich ein Problem: Wie muss ich screen aufrufen, dass es mir in mein Programm eine Code-Zeile hineinschreibt und die Ausgabe an mein PHP-Skript weiterleitet?
Skizze:
PHP --> (anderes Skript?-->) screen --> **Programm** --> screen ---> (anderes Skript?-->) PHP
ich hoffe, ihr versteht, was ich meine und könnt mir einen Tip geben.
lg
Vali -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
So wirklich schlau werde ich leider nicht aus deiner Beschreibung.
Am besten du beschreibst erstmal, wie du dein Programm genau steuerst. Da sind schließlich auch mehrere Möglichkeiten denkbar.
Ansonsten könnte folgendes vllt helfen:
http://www.jerri.de/blog/archives/2006/05/02/scripting_screen_for_fun_and_profit/ -
Mein Programm starte ich so: screen -AmdS $test01 ./programm01
um auf das Programm zuzugreifen und mit ihm zu "kommunizieren", schreibe ich diese in die Konsole: screen -r test01
aus dem Programm heraus gehe ich mit Strg-A, Strg-D.
Das Programm steuere ich mit simplen Befehlen wie nexttest, showresults usw.
Diese Befehle gebe ich einfach in die Konsole ein und bestätige mir Return.
Das Programm gibt mir dann entweder zurück "OK", oder listet mir mehrzeilig eine paar Daten auf.
Jetzt würde ich noch gerne wissen, was ich anstellen muss, um mit PHP die Befehle wie nexttest, showresults usw. an das Programm zu schicken und die Zeilen, die das Programm ausgibt.
lg
Vali -
schreib sie in ne txt und lass sie von dem script auslesen...
-
mhm, ich verstehe zwar nur so ungefähr was du meinst, jedoch habe ich das Problem, das mir von diesem Programm leider der Quellcode nicht vorliegt :(
lg
Vali -
valuser schrieb: mhm, ich verstehe zwar nur so ungefähr was du meinst, jedoch habe ich das Problem, das mir von diesem Programm leider der Quellcode nicht vorliegt :(
lg
Vali
DAS
macht die sache schwierig
...wenn der autor nicht irgendeine möglichkeit (Kommandozeilenparameter o.ä) vorgesehen hat um automatisiert mit dem programm zu kommunizieren, es wäre auch eutlich einfacher dir zu helfen wenn man das programm kennen würde... -
Hmh, meiner Einschätzung wird das Programm keiner kennen, und ich würde mal meine Programmier-Erfahrung darauf wetten, das das dabei auch nicht viel bringen wird.
Um nochmals auf meine Frage zurückzukommen: Gibt es keine Möglichkeit, sich via PHP (oder einem Shell-Programm oder C++-Programm) in die screen-Session "einzuklinken", ein wenig zu kommunizieren, und sich dann wieder auszuklinken, wobei das Programm davor und danach noch laufen sollte?
lg
Vali -
also was ich mal gemacht habe:
ich habe ein grafisches programm über einen webserver aufgerufen und die ausgabe und bedienung am x server so konfiguriert das ich es vom internet aus hab bedienen können.
wann jetzt also dein programm eine entsprechende oberfläche hat köntest du das als workarround benutzen und das programm "direkt bedienen" wenn du fertig bist machst es halt zu und hast wieder die seite von der es gestartet wurde...aber wie gesagt das ist nur ein workarround...
ob das mit der konsole möglich ist weiß ich nicht, da würde ich vermutlich einen ssh befehl genierieren der mir das fragliche programm mit den vorgegebenen optionen startet ud im konsolefenster könnte man dann die eingaben zur laufzeit machen...
aber das ist alles nicht wirklich was du willst... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage