Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php w SHELLu LINUXa
Forum PHP.pl > Forum > PHP
rkolida
Witam,
Od dlugiego juz czasu mecze sie z takim problemem, moze ktos z was bedzie wiedziec jak to wykonac.
Mam napisany skrypt php ktory dziala w shellu linuxa - pld 1.0.
Chcialbym uruchomic za pomoca tego skrytpu inny skrypt w osobnym procesie.
include() odpada, bo trzeba czekac az drugi skrypt sie wykona, po czym pierwszy (ten ktory go uruchomil) kontynuuje dzialanie.
exec() , a w nim komenda ./drugi_skrypt.php & - tez nie dziala, to samo co wyzej, trzeba czekac.

Czy ktos z was borykal sie juz z podobnym problemem ?
Jak za pomoca jednego skryptu uruchomic drugi, tak aby oba dzialaly rownoczesnie, rownolegle, zeby ten drugi uruchomiony zaczal byc osobnym procesem i dzialal sobie niezaleznie od pierwszego, kotry go uruchomil questionmark.gif?

Pozdr.
Rafi
SongoQ
A ten 2 skrypt musi byc przez exec wolany?
rkolida
No nie musi, a jak inaczej ? Tylko zeby osobny proces to byl.
SongoQ
Odnosnie osobnych procesow to przychodzi mi to do glowy
http://pl2.php.net/manual/en/function.pcntl-fork.php
rkolida
No OK, przeczytalem opis tej funkcji, ale kompletnie nie rozumiem jak ona dziala. Mozesz jakis jasniejszy przyklad zapodac ?
SongoQ
Przyklady masz w manualu w linku ktory podalem. Dziala to tylko i wylacznie na systemach unix/linux. Uruchamiany jest proces a nastepnie powstaje 2 proces ktory jest dzieckiem tamtego procesu. Pozniej moga dzialac niezaleznie. Jesli chcesz zglebic wiedze na ten temat to odsylam do google
rkolida
A moglbys napisac krotki przyklad ?

skrytpt1.php ma odpalic skrypt2.php, tak by byl osobnym procesem. W tej chwili w skrypt1.php mam tak:

exec("skrypt2.php");

ale to nie odpala drugiego procesu, skrypt1.php musi czekac az skrypt2.php zakonczy dzialanie, zeby móc działać dalej. Wiec jest to rownoznaczne z include("skrypt2.php");

To na dole nie jest dobrym przykladem, ale nic innego nie przychodzi mi do glowy. Pomozesz ?

pcntl_fork("skrypt2.php");
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.