[英]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.