Как я могу запустить java класс с PowerShell в фоновом режиме? - PullRequest
0 голосов
/ 26 февраля 2020

Я хочу запустить java класс в фоновом режиме PowerShell. Я не могу использовать '$' (что заставляет java работать в фоновом режиме) в команде powershell. Поэтому я просто сделал еще один сценарий powershell и запустил его в фоновом режиме. Это выглядит как ... (start.ps1 --> run.ps1 --> WantToRunThis.class)

Start-Job -Filepath "./folder/run.ps1"

-> Это start.ps1

java WantToRunThis args[0] args[1]

-> Это run.ps1

Я могу сделать run.ps1 запускается, но его статус сразу завершается, поэтому java не работает. Как я могу это исправить ??

Конечная цель меня состоит в том, чтобы запустить несколько java классов одновременно в фоновом режиме ...

1 Ответ

0 голосов
/ 27 февраля 2020

Если двойные кавычки PowerShell считает $ началом переменной. Вы можете запретить PowerShell рассматривать его как переменную, добавив перед ним галочку, например `$. Powershell будет думать, что $ не является специальным символом. Одиночные кавычки позволят вам использовать $, если хотите.

Звучит так, как будто вы хотите запустить Java из PowerShell и запустить Java после завершения PowerShell. Одиночные кавычки также позволят вам использовать $, если хотите.

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList 'java $WantToRunThis args[0] args[1]'   
...