我的要求是使用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”,以及为什么记事本打不开。
如何解决这个问题?
任何帮助将不胜感激!!
服务在后台运行 - 无论用户是否登录。因此他们通常无法访问 GUI。 Windows 将其 GUI 输出重定向到“隐藏”桌面。
此问题是 Windows 设计的问题,与 Java 无关。另请参阅 Swing JDialog 当我从 Eclipse 运行它时显示正常,但无法从 Windows 服务(services.msc)运行
使用 eclipse,当我在 tomcat 中部署 jsp 文件时,每次打开记事本时都会显示包含错误消息的对话框