簡體   English   中英

Servlet 程序無法使用 Runtime.getRuntime() 啟動命令提示符

[英]Servlet program fails to launch command prompt using Runtime.getRuntime()

我有一個在 apache-tomcat-9.0.38(Windows 10)上運行的簡單 servlet 程序。 該程序嘗試使用以下代碼啟動命令提示符(不是確切的代碼,)

java.lang.Runtime.getRuntime().exec("cmd.exe /c start cmd.exe /k \"dir && ping \"localhost\" && EXIT\"");

當 servlet 嘗試執行上述行時,它不會啟動命令提示符。 但是,如果我在同一台機器上的簡單 java 程序中執行相同的代碼,它會成功啟動命令提示符。

我已經驗證系統用戶和應用程序對 cmd.exe 具有執行訪問權限,並且還驗證了 tomcat 服務用戶是系統用戶。

我不確定為什么只有當 servlet 程序嘗試執行上述行時它才無法啟動命令提示符。 (注意:相同的 servlet 程序在其他 Windows 10 機器上運行良好)

快速幫助將不勝感激。

謝謝你。

經過一番分析,我找到了解決方法。

由於我沒有管理員權限來更改 Tomcat 服務的登錄用戶,因此我已經使用命令提示符手動啟動了 tomcat。 這對我有用,代碼成功啟動了命令提示符。

謝謝你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM