2016-06-09 77 views
1

Windows Power Shell啓動後無法獲取java進程的詳細信息。它適用於「記事本」,但不適用於java。Powershell啓動進程Java PassThru

工作記事本CMD:

PS > $apmax=Start-Process notepad "abc.txt" -PassThru 

失敗的java:

PS > $apmax=Start-Process java "-jar ApMaxProvMngr-1.0.jar" -PassThru 
Start-Process : This command cannot be run completely because the system cannot find all the information 
required. 
At line:1 char:8 
+ $apmax=Start-Process java "-jar ApMaxProvMngr-1.0.jar" -PassThru 
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidOperation: (:) [Start-Process], InvalidOperationException 
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand 

我缺少的東西在這裏?

回答

0
  1. 使用明確的'ArgumentList'參數(請參閱docs);
  2. 分別傳遞多個參數。

    $apmax=Start-Process java -ArgumentList '-jar','ApMaxProvMngr-1.0.jar' -PassThru 
    
+0

PS> $ apmax =啓動過程的java -ArgumentList '-jar', 'ApMaxProvMngr-1.0.jar' -PassThru 啓動過程:此命令不能完全運行,因爲該系統不能找到所有需要的信息。 在線:1 char:8 + $ apmax =啓動過程java -ArgumentList'-jar','ApMaxProvMngr-1.0.jar ... + ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :InvalidOperation:(:) [Start-Process],InvalidOperationException + FullyQualifiedErrorId:InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand –

+0

即使使用「-ArgumentList」,它也不工作。問題似乎是在PS中獲取java進程的詳細信息。即使沒有任何參數,我也會看到這個問題:PS> $ apmax =啓動過程java -PassThru 啓動過程:由於系統找不到所需的全部信息,因此無法完全運行此命令。 –

+0

您的java命令在cmd控制檯中工作嗎?你有沒有嘗試提供java.exe的絕對路徑?你有沒有嘗試使用javaw而不是java? – ursa