WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Läsa från command line linux (https://www.wn.se/forum/showthread.php?t=1038624)

aDonis 2009-10-18 19:08

Läsa från command line linux
 
!Varning för okunnighet! (Frågar åt min kodare för att jag kanske ska kunna komma undan lite billigare än att han kollar upp detta)

Mitt scenario:
Jag startar ett program i en screen från command line i debian. Programmet trycker ut massa information i form av text i command line konstant.

Mitt problem:
Jag vill kunna läsa denna info till ett php-script på min hemsida för att sedan skriva ut den där till användarna. Jag vill även kunna skicka kommandon från hemsidan, som skrivs in i detta program/console. Finns det något speciellt kommando jag kan utnyttja här? Alla sorts tips uppskattas, som alltid, oerhört mycket.

Tack för er tid!

Perben 2009-10-18 20:02

Gör en redirect till en fil bara... start med ./dittprogram >> output.txt. Du kan skriva till samma fil från flera processer (t.ex programmet själv och php) så länge du appendar (dubbel >). Se http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html om du vill fånga upp stderr också.

aDonis 2009-10-18 20:54

Det låter som en bra idé, men hur kan jag skicka in information till detta program utifrån?

Perben 2009-10-18 21:57

Det finns en massa olika sätt. Skriv till en fil från det andra programmet, polla filen från ditt program är det enklaste. Delat minne och sockets är andra varianter, men man kan inte via shellet (command line) pipa/redirecta saker till en körande process standard input. Jag kan ha fel, men har aldrig sett någon sådan manöver.

Oskar Lindgren 2009-10-18 22:49

Jag har gjort nåt liknade... kör typ detta i en screen:

tail -f enindatafil |ettprogram > enutdatafil

Om du skriver till enindatafil så kommer det att skickas vidare..

Magnus_A 2009-10-19 09:38

Borde gå (har ej prövat själv) att styra om ditt skalprograms utdata till en socket (heter det sockel på svenska?) och sen kan du ansluta till denna socket med php och läsa in data direkt med php:s inbyggda stöd för sockets. Typ. Fördelen är att den typen av anslutning blir generell och att du när du väl fått den att ansluta kan fokusera på innehållet och inte behöver bygga om den när du till exempel vill köra detta på en fjärrdator.

obe 2009-10-19 14:25

Program execution Functions
 
http://www.php.net/manual/en/ref.exec.php
http://www.php.net/manual/en/function.exec.php
http://www.php.net/manual/en/function.passthru.php

BjörnJ 2009-10-19 17:07

Dessa funktioner tillåter väl inte att man kommunicerar med programmet som körs?

obe 2009-10-19 23:14

Citat:

Ursprungligen postat av BjörnJ (Inlägg 20327132)
Dessa funktioner tillåter väl inte att man kommunicerar med programmet som körs?

Aha, jag fattade inte att programmet skulle köras konstant...


Alla tider är GMT +2. Klockan är nu 14:49.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson