У меня есть консольное приложение, работающее удаленно на нескольких компьютерах.
Мне было интересно, есть ли способ выйти из него удаленно, а затем запустить его снова.
Я видел использование taskkill
выйти из приложения, но ... это правильный способ сделать это? Не будет ли это иметь последствия с точки зрения использования памяти, поскольку процесс приложения будет вынужден завершиться, а не завершиться обычным образом?
Затем, можно ли запустить приложение удаленно, учитывая, что это консольное приложение, для запуска которого требуется строка ввода текста?
Например:
> C: /myApp/start.exe
> Приложение запущено ... добавьте команду:
> ...
Вы пробовали использовать PSTools для этой цели. Если консольное приложение запускается с использованием какого-либо процесса, вам могут помочь PSTools. PSkill.exe и Psexec.exe можно использовать для завершения процесса (приложения) и удаленного запуска процесса. Но вы должны знать имя пользователя и пароль удаленного компьютера для аутентификации PSTools. Если это среда домена, то это простой способ выполнять удаленные действия.
http://technet.microsoft.com/en-in/sysinternals/bb896649.aspx
Надеюсь это поможет.
Он очистит приложение из памяти, сколько времени нужно остановить и запустить заново? Причина, по которой я спрашиваю, можно ли использовать taskkill /s <hostname> /PID <PID> or /im <imagename.exe>
чтобы сделать это удаленно, но тогда вам нужно будет выполнить другую команду для перезапуска процесса, что легко сделать с помощью psexec, winrs или запланированной задачи.
Вы также можете сделать это как пакетный файл, начать с taskkill или psexec, а затем продолжить с другой строки, чтобы снова запустить процесс.
Очевидно, что некоторые из них ограничиваются аутентификацией.