Správa systémových procesů v PHP

Tomáš

Správa systémových procesů v PHP
« kdy: 19. 11. 2011, 19:46:14 »
Zdravím,

již delší dobou se snažím přijít na řešení správy procesů na Linuxu přes jazyk PHP. Stále mě nenapadá žádné řešení, které bych uskutečnil. Četl jsem samozřejmě o funkcích jako jsou exec() a další. Jednoduše bych potřeboval možnost zapnout/restartovat/vypnout proces, který na serveru běží.

Kód: [Vybrat]
$ /etc/init.d/oregon {start|stop|restart}
Mohl by mě, někdo nasměrovat. Popřípadě přiblížit řešení?

Děkuji
« Poslední změna: 20. 11. 2011, 19:50:33 od Petr Krčmář »


Re: Linux Debian & PHP
« Odpověď #1 kdy: 19. 11. 2011, 20:03:21 »
Zdravím,

již delší dobou se snažím přijít na řešení správy procesů na Linuxu přes jazyk PHP. Stále mě nenapadá žádné řešení, které bych uskutečnil. Četl jsem samozřejmě o funkcích jako jsou exec() a další. Jednoduše bych potřeboval možnost zapnout/restartovat/vypnout proces, který na serveru běží.

Kód: [Vybrat]
$ /etc/init.d/oregon {start|stop|restart}
Mohl by mě, někdo nasměrovat. Popřípadě přiblížit řešení?

Děkuji

Já tohle raději řeším externě, aplikace v PHP uloží do nějakého souboru co chce provést a jiný program z cronu se na to podívá a provede to (samozřejmě si i promyslí jestli se mu to líbí :D)
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci

Tomáš

Re: Linux Debian & PHP
« Odpověď #2 kdy: 19. 11. 2011, 20:10:09 »
Děkuju za radu, nicméně ještě nejsem schopný vyřešit samotné provedení akce (spuštění toho příkazu). S programováním jsem začal nedávno a ještě nejsem na úrovni abych to dokázal levou zadní. Potřeboval bych spíše radu jak samotné vykonání provést.  :)

smajl

Re: Linux Debian & PHP
« Odpověď #3 kdy: 20. 11. 2011, 00:03:17 »
<?php
exec('sudo "/etc/init.d/oregon start"');
?>


uzivatel pod ktorym bezi web musi mat povolene pouzivat sudo bez hesla, staci mu povolit spustat iba konkretny skript (man sudoers)
pripadne ja pouzivam namiesto exec funkciu passthru ktora aj vypise vysledok.

Tomáš

Re: Linux Debian & PHP
« Odpověď #4 kdy: 20. 11. 2011, 00:33:38 »
Děkuji velmi pěkně. Momentálně už mám vše vyřešeno viz. níže a úspěšně se mi i podařilo nainstalovat cron a vše funguje. Šlo mi o mysqldump cez CRON.

Kód: [Vybrat]
echo shell_exec("mysqldump ...pokračuje příkaz");
Ale děkuji velmi pěkně. Možná mě jen napadá, jestli je způsob jak spustit exec() na více příkazů. Například kdybych se připojoval na FTP a následně jsem chtěl převést data.


DarkKnight

Re: Linux Debian & PHP
« Odpověď #5 kdy: 20. 11. 2011, 01:25:46 »
ftp connection je zbytecne resit pres exec, to uz rovnou vytvorit script treba v bashi, ktery toto vsechno bude umet

na jakekoliv sockety se pouziva fsockopen

Tomáš

Re: Linux Debian & PHP
« Odpověď #6 kdy: 20. 11. 2011, 01:28:04 »
ftp connection je zbytecne resit pres exec, to uz rovnou vytvorit script treba v bashi, ktery toto vsechno bude umet

na jakekoliv sockety se pouziva fsockopen

Děkuju za radu. Jak již jsem řikal, jsem nováček v programování a jsem rád, že vim zas o něco víc.  :)

Re: Správa systémových procesů v PHP
« Odpověď #7 kdy: 23. 11. 2011, 02:30:24 »
IMHO, odporoucim podivat se na ftp funkce primo v PHP, cili skus zmerit, kolik trva prumerne ten sqldump a pak dej do CRONu spusteni toho PHP skriptu, ktery to nahraje na ten externi FTP server. chces to zkusit sam, nebo ti pastnu hotovej kod? :) zalezitost max. 10 radku :)
Najhoršia zrážka, je zrážka s blbcom.