Удаленный Выход Процесса

По умолчанию PsExec не выходит, пока программа, которую он запускал, не вышла. Когда процесс выходит, он сообщает о коде выхода — 32-разрядном целом числе — к операционной системе, где он может быть считан ее родительским процессом (или любой другой процесс, у которого есть открытый дескриптор к нему). Код выхода часто используется, чтобы сообщить ли процесс, за которым следуют в его задаче, с 0 (нуль), обычно указывающий на успех. Код выхода - то, что тестируется командой IF ERRORLEVEL Кмд и && и || условные операторы. PsExec выводит код выхода процесса к своей консоли (например, "Notepad.exe выходил с кодом ошибки 0"). PsExec тогда выходит, используя код выхода целевой программы в качестве его собственного кода выхода так, чтобы родительский процесс или пакетный файл могли протестировать это и выполнить условную обработку.

Когда -d опция PsExec используется, PsExec запускает удаленный процесс, но не ожидает его, чтобы выйти. На успехе PsExec выводит ID процесса нового процесса к stderr потоку и выходам, используя новый PID в качестве его собственного кода выхода. Тот PID может быть получен в пакетном файле как это:

psexec \\server1-d App.exe УСТАНАВЛИВАЮТ NEWPID = % % ERRORLEVEL

ОТЗОВИТЕСЬ ЭХОМ ID Процесса для App.exe является %NEWPID %

Однако, если PsExec не может запустить удаленный процесс, его код выхода представляет код ошибки. Нет надежного программируемого способа различить, является ли код выхода PID или кодом ошибки.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: