2012-06-10 2 views
4

Есть ли способ убить процесс Windows, скажем calc.exe, с PHP без использования exec?PHP, убить процесс Windows?

exec вызывает внешнюю программу, я стараюсь избегать использования этой команды, если это необходимо.

+3

нет, нет. –

+1

Можно использовать системные вызовы в PHP, если альтернативы нет. Просто убедитесь, что вы не включили какой-либо пользовательский ввод, включенный в вызов. – halfer

ответ

10

Существует.

Используйте расширение PHP W32api, предоставляющее доступ к API Win32, а затем используйте API TerminateProcess() после того, как вы приобрели дескриптор процесса.

+3

[Ссылка на документы] (http: //us2.php. net/manual/en/w32api.examples-uptime.php) – nickb

+1

AFAIK официальные сборки PHP из windows.php.net имеют расширение, составленное в –

+2

Исходный вопрос: «Есть ли способ убить ** Windows ** процесс " –

0

Нет, нет. У PHP мало доступа к системе, кроме exec.

+2

И fopen, fclose и т. Д. –

+1

Верно, но я был бы очень впечатлен, если бы вы закрыли 'calc.exe', используя' fopen' ;-) – Tim

2
  1. определить новую функцию в источниках PHP (чистый C)
  2. скомпилировать вам новый PHP версию с определенной функцией
  3. вызова новой функции, которая была определена в источниках PHP вами

PS

На этом пути вы можете заставить PHP работать с __asm ​​{} вставками/добавить код ядра, если вы этого хотите ...

+2

+1 Вероятно, самый простой способ сделать это. –

 Смежные вопросы

  • Нет связанных вопросов^_^