zero50x

Системные процессы из PHP

May 13th, 2016
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.60 KB | None | 0 0
  1. // Получить идентификатор процесса (проверять на уникальность!!)
  2. $pid = getmypid();
  3.  
  4. // Посмотреть список всех процессов с pid из php. Почему-то не работает exec('top',$n);
  5. exec('ps aux', $m);
  6.  
  7. // Показать список процессов на экране
  8. echo '<pre>'; var_dump($m); echo '</pre>';
  9.  
  10. // ВНИМАНИЕ! Код ниже работает только из cron или запуске из консоли
  11. // Этот код присваивает процессу в списке своё имя (можно поймать имя файла из $_SERVER и подставить сюда) это позволяет
  12. // командой exec('ps aux', $m); посмотреть если в массиве $m есть это имя значит этот скрипт сейчас работает.
  13. $pid = getmypid();
  14. $title = "my_php_s";
  15.  
  16. if (!cli_set_process_title($title)) {
  17.     echo "Unable to set process title for PID $pid...\n";
  18.     exit(1);
  19. } else {
  20.     echo "The process title '$title' for PID $pid has been set for your process!\n";
  21.     sleep(5);
  22. }
  23.  
  24. // ФИШКА! Как запустить скрипт в консоли из обычного скрипта? Всё просто:
  25. exec('php cli.php', $m); // в этом скрипте надо поставить ограничение по времени ожидания иначе он будет ждать вывода консольного
  26. echo '<pre>'; var_dump($m); echo '</pre>'; // вывод можно и не делать
Add Comment
Please, Sign In to add comment