Как я могу убить программу, которая может не существовать из Perl на Win32? - PullRequest
2 голосов
/ 13 января 2010

Я ищу способ заставить Perl уничтожить все процессы firefox.exe на Win32 и не выдавать ошибку, если процесс не существует. Я сейчас использую:

system('taskkill /F /IM firefox.exe');

, который выдает большую ошибку "ОШИБКА: такой процесс не найден", когда Firefox не было.

Ответы [ 3 ]

6 голосов
/ 13 января 2010

Если вы хотите подавить все выходные данные, включая ошибки, попробуйте это:

system('taskkill /F /IM firefox.exe >nul 2>&1');

Подробнее о перенаправлении команд и каналах вы можете прочитать здесь:

http://ss64.com/nt/syntax-redirection.html

3 голосов
/ 13 января 2010

без вызова taskkill, вы можете использовать модули Perl, например, Win32 :: Process :: List , win32 :: Process :: Kill

См. Также perldoc -f kill

3 голосов
/ 13 января 2010
`taskkill /F /IM firefox.exe 2>&1`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...