Avatar billede aggemamme Nybegynder
03. august 2005 - 22:48 Der er 5 kommentarer og
1 løsning

Læse en fil fx hvert sekund

Hej

Spørgsmålet er ikke specifikt for PHP; men det er det sprog det implementeres i.

Jeg vil lave et php script der skal udføre nogle administrative ting på en server. Hensigten er, at scriptet kører som en daemon i baggrunden og læser en fil fx hvert sekund med 'kommandoer' der skal udføres (fx oprette en bruger).

Er de fleste moderne OSer så kloge, at de ikke fysisk aktiverer harddisken og ser om der er ændringer i filen, eller vil ovenstående fremgangsmåde slide meget på harddisken?

Er der andre (gode) måder at kommunikere med et PHP script der kører hele tiden? Har overvejet socket-kommunikation, men vil helst undgå det.

Det er på en Debian boks.
Avatar billede aggemamme Nybegynder
03. august 2005 - 23:16 #1
Har nu afprøvet med flg. kode:

function execute($line) {
  echo "EXECUTING: `" . $line . "'\n";
}

$fp = fopen (COMMANDS_FILE,'r');

while (sleep(1)) {
  while ($c = fread($fp,1)) {
    if ($c == "\n") {
      execute ($line);
      $line = "";
    }
    else $line .= $c;
  }
}

og umiddelbart lader det ikke til at den læser fysisk fra disken hele tiden ... måske fordi filen ikke lukkes efter hver gang. Eller tager jeg fejl?
Avatar billede jakobdo Ekspert
04. august 2005 - 10:24 #2
På en Debian boks burde du kunne lave et cronjob, det kan du sætte til at køre i intervaller.
Avatar billede aggemamme Nybegynder
04. august 2005 - 14:47 #3
Hej

Crons intervaller er for langsomt til formålet (min. 1 minut). Men jeg tror jeg laver en socket server alligevel ... Sådan at jeg kan give det kaldende script et svar direkte.
Avatar billede aggemamme Nybegynder
27. april 2006 - 06:43 #4
jeg lukker ... vil du have point?
Avatar billede jakobdo Ekspert
27. april 2006 - 09:32 #5
Du kan jo give mig hvad du synes er ok! :o)
Avatar billede jakobdo Ekspert
27. april 2006 - 09:38 #6
Det var fornemt, takker for point! ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester