我有一个在多台计算机中远程运行的控制台应用程序。
我想知道是否有任何方法可以远程退出然后重新启动它。
我看到了使用taskkill
退出应用程序,但是...这是正确的做法吗?由于应用程序进程被迫退出而不是以正常方式终止,这不会对内存使用产生影响吗?
那么,考虑到它是一个需要输入一行文本才能启动的控制台应用程序,是否可以远程启动该应用程序?
例如:
> C:/myApp/start.exe
> 应用程序正在运行...添加命令:
> ...
答案1
您是否尝试过为此目的使用 PSTools。如果控制台应用程序使用任何进程运行,那么 PSTools 可以帮助您。PSkill.exe 和 Psexec.exe 可用于远程终止进程(应用程序)并启动进程。但您应该知道远程机器的用户名和密码,以便对 PSTools 进行身份验证。如果是域环境,那么这是一种执行此远程活动的简单方法。
http://technet.microsoft.com/en-in/sysinternals/bb896649.aspx
希望这可以帮助。
答案2
它会从内存中清除应用程序,停止并重新启动的时间范围是多少?我问这个问题的原因是您可以使用taskkill /s <hostname> /PID <PID> or /im <imagename.exe>
它来远程执行此操作,但随后您需要执行另一个命令来重新启动该过程,这可以通过 psexec、winrs 或计划任务轻松完成。
您也可以将其作为批处理文件执行,从 taskkill 或 psexec 开始,然后继续向下执行另一行以重新启动该过程。
其中一些显然仅限于身份验证。