Обработка ошибок для popen - PullRequest
       6

Обработка ошибок для popen

0 голосов
/ 12 ноября 2009

Я использую popen в PHP для выполнения файла TCL.

     $cmd='C:/wamp/www/Tcl/bin/tclsh84.exe';  //windows
             $ph = popen($cmd,'w')

Но если кто-то перезапустит машину или процесс tclsh84.exe будет убит. Как я знаю, что это состояние ошибки произошло? $ ph не возвращает 0 в этих условиях.

С уважением, Митхун

1 Ответ

0 голосов
/ 12 ноября 2009

вы видите документацию утилиты списка задач от там . Эта утилита является своего рода диспетчером задач в командной строке (немного меньше возможностей, поскольку вы можете только перечислять процессы и не влиять на них). Имея эту утилиту на вашем сервере, вы можете использовать функцию exec для получения списка процессов и работы с ними.

вероятный код будет примерно таким:

 function isTCLRunning(){
   $running = false;
   exec('tasklist.exe /fo CSV /fi tclsh84.exe', $output);

   return count($output) == 1
  }

примечание: это полностью не проверено, вы можете поиграть с списком задач и убедиться, что он возвращает ожидаемый результат, прежде чем начинать кодировать вашу функцию PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...