【发布时间】:2015-11-20 08:43:18
【问题描述】:
我的要求是使用 processbuilder 打开记事本。 如果我们运行
C:\>notepad.exe
在命令行或eclipse中(通过java使用processbuilder)创建进程如下。
Name PID status UserName
notepad.exe 8380 Running Selva
进程在任务管理器中创建,记事本也打开了,我们可以一次又一次地执行命令。
但是,如果我们使用 java 进程构建器从 Tomcat 运行命令(Tomcat 通过 services.msc 启动),则进程创建如下。
Name PID status UserName
notepad.exe 8380 Running SYSTEM
进程是在任务管理器中创建的。但是记事本没有在系统中打开,我们也无法再次运行该命令。因为它正在显示, “该进程无法访问,因为它正被另一个进程使用”
为什么在tomcat中使用名称“SYSTEM”而不是“Selva”创建进程,以及为什么记事本没有打开。
如何解决这个问题?
任何帮助将不胜感激!
【问题讨论】:
-
可能是RunAs。
-
它询问提示@wOxxOm
-
我认为我链接的文档描述了如何处理它。您也可以使用 google 查找使用
RunAs和凭据的示例,只需几秒钟/几分钟。 -
让Tomcat服务以用户身份登录,并确保选中“与桌面交互”复选框。
标签: java eclipse batch-file tomcat