Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Количество процессов
Форумы портала PHP.SU » » Вопросы новичков » Количество процессов

Страниц (1): [1]
 

1. 20167 - 04 Июля, 2013 - 11:37:12 - перейти к сообщению
Всем привет, помогите найти количество процессов

Вот у меня есть функция которая проверяет запущен ли процесс или нет

PHP:
скопировать код в буфер обмена
  1. function check_proc($value,$user,$pass,$host){
  2. $ssh = new shell2; // init class
  3. $ssh->login($user,$pass,$host);
  4. $ssh->exec_cmd('ps -C '.$value);
  5. $res = $ssh->get_output();
  6. if(preg_match("/\b".$value."\b/i",$res))
  7. {$echo = '<span style="color: #008000;">Запущен</span>';}else{$echo = '<span style="color: red;">Остановлен</span>';}
  8. return $echo;
  9. }


Данной командой
я вытаскиваю количество процессов под именем $value, теперь мне нужно определить сколько их там и вывести число.. я знаю можно preg_match_all но как это сделать не пойму, если можно объясните и дайте пример кода...
2. OrmaJever - 04 Июля, 2013 - 12:15:18 - перейти к сообщению
если в $res то что я думаю то так
3. 20167 - 04 Июля, 2013 - 16:44:28 - перейти к сообщению
Да спасибо работает)

Теперь у меня получился такой код, можно ли его как то оптимизировать? что бы не так долго грузилась страница..

CODE (htmlphp):
скопировать код в буфер обмена
  1. function check($value,$user,$pass,$host){
  2. $ssh = new shell2; // init class
  3. $ssh->login($user,$pass,$host);
  4. $ssh->exec_cmd('ps -C '.$value);
  5. $res = $ssh->get_output();
  6. return $res;
  7. }
  8. function proc($value, $res){
  9. $r = substr_count($res, $value);
  10. return $r;
  11. }
  12. function check_proc($value, $res){
  13. if(preg_match("/\b".$value."\b/i",$res))
  14. {$echo = '<span style="color: #008000;">Запущен</span>';}else{$echo = '<span style="color: red;">Остановлен</span>';}
  15. return $echo;
  16. }
4. DeepVarvar - 04 Июля, 2013 - 17:51:06 - перейти к сообщению
У тебя он долго думает потому, что каждый раз соединяется по ssh.
Соединись с сервером один раз в начале и все.
А если всеравно долго, то ты уже ничего не сделаешь, это проблема сети.
5. 20167 - 04 Июля, 2013 - 18:43:53 - перейти к сообщению
мне нужно узнать состояние 10 процессов, http://s2[dot]ipicture[dot]ru/uploads/20[dot][dot][dot]704/9FTVRgnI[dot]png думал, как бы сделать все это одним запросом..

 

Powered by ExBB FM 1.0 RC1