Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [bash][php] uruchamianie skryptów
Forum PHP.pl > Forum > Serwery WWW
xsonic
Witam

Mam serwer pod linuxem. Chce uruchomić skrypt w tle... 'php skrypt.php &', ale po takiej operacji niby
skrypt się odpala w procesach jest lecz nie wykonuje operacji. Nie chce do tego screena używać.
Da się to jakoś uruchomić? W bashu zwykłe skrypty sh chodzą pięknie...

Pozdrawiam Adrian
redeemer
Czy samo 'php skrypt.php' wykonuje się poprawnie?
xsonic
tak uruchamia się poprawnie...
rocktech.pl
Witam.

Jak kończysz skrypt? die(), echo - spróbuj dać return true.
redeemer
Zawsze możesz dopisać na górze pliku skrypt.php ścieżkę do interpretera, np:
  1. #!/usr/bin/php
Potem chmod +x i spróbować ./skrypt.php &
xsonic
Zaczynam i kończę jak standardowe php <? ?> w tym jest nieskończona pętla while.
erix
/usr/bin/php wskazuje na CLI, czy na binarkę CGI?
xsonic
erix nie rozumiem


Jeszcze pytanie żeby nie zaśmiecać, jak włączę skrypt to zabiera ok 4mb po pewnym czasie spada do 1mb czym to jest spowodowane?

kurde właśnie sprawdzałem i dalej nie działa... nawet taki prosty:

  1. #!/usr/bin/php
  2.  
  3. <?
  4. $n=1;
  5. while (1){
  6. exec("echo $n >> plik");
  7. sleep(2);
  8. $n+=1;
  9. }
  10. ?>

oczywiście ./skrypt.php działa ale z & już nie...
redeemer
Skoro mówisz, że skrypty w bashu Ci chodza pięknie to:

skrypt.sh
  1. #!/bin/sh
  2. ./skrypt.php
i spróboj ./srypth.sh & wink.gif
xsonic
Działa... ale czemu tak działa a tak nie...?
redeemer
A zadziała
  1. ./skrypt.php < /dev/null &
?
xsonic
skrypt się odpala sh sie zamyka chyba > /dev/null
redeemer
Nie, chodziło mi o przekierowanie na stdin. Przypomniało mi się, że znajomy miał kiedyś podobny problem na Ubuntu i chyba taki zabieg mu pomógł.
xsonic
działa ale czemu? Co to mu dało?
redeemer
Tego do końca nie wiem, ale mogę się domyślać, że przy uruchomieniu w tle (./skrypt.php &) interpreter php oczekuje "czegoś" na stdin a go nie dostaje.
abort
Mam kilka skryptów tak uruchamianych, czyli początek jest taki:
Kod
#!/usr/bin/php
<?php


Żadnemu z nich nie przekierowuję stdin. Ale może to problem pustych linii u Ciebie (na jednym listingu masz takowe pomiędzy dwiema liniami takimi jak u mnie).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.