我们正在将我们的服务器从 32 位 Windows 2003 升级到 64 位 Windows 2008,在我们选择升级后的服务器应用程序的 32 位和 64 位版本之前,我正在做一些尽职调查.
我们目前有一个 Tomcat 服务器,其中包含许多使用 Runtime.getRuntime().exec()
启动 perl 脚本(在 Windows 批处理文件内)的 Web 应用程序。 Perl 脚本依次启动 MS Office 以创建和操作对象。
根据我的阅读,大多数人(包括 Microsoft)建议安装 32 位 Office,除非您有充分的理由安装 64 位版本(在这一点上,我不认为我们做)。
看起来这可能意味着我必须运行 32 位 Perl 才能创建 32 位 Office 对象。
问题是,这是否也意味着我需要在 32 位 Java 上运行 Tomcat?如果是这样,我有第二个问题,即我是否可以在不同的 JVM 中安装多个 Tomcat 实例,以便利用 64 位操作系统中的额外内存?
如果可以从 64 位 Java 中启动 32 位进程,是否有任何特殊技巧,或者仅在 cmd 命令的路径中指定 WOW64 就足够了吗?
最佳答案
(...) Starting an operating system process is highly system-dependent. (...)
因此,人们会假设完全有可能从 64 位 Java 进程启动 32 位进程,因为在 Windows 上启动另一个进程根本不关心位数。
如果您启动 SysWOW64\cmd.exe
,您应该完全没问题。
您正在运行哪个 Perl 发行版? Strawberry Portable ZIP editions无需安装任何东西即可并排使用。
关于java - 我可以从 64 位 Java 运行 runtime.exec() 一个 32 位批处理文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24255533/