2017-05-03 49 views
0

我在同一臺機器上有一個以上的java實例,其中一個用於Jenkins,另一個用於運行服務器。有什麼辦法可以獲得運行服務器的實例的進程ID?執行WMIC命令時會出現隨機進程ID

我嘗試在命令行下面的命令使用 -

WMIC PROCESS WHERE (CommandLine like '%cq-author-p4502%') GET ProcessID 

哪個返回>>

的ProcessID 6100

所有我執行上述命令的時間則返回不同的ID,即使服務器沒有運行。並且當服務器正在運行時,則會返回該Java服務器實例PID以及隨機更改的PID。我想知道爲什麼這個隨機PID被返回?

任何幫助非常感謝!

回答

0

觀察隨機PID是分配給正在運行的wmic命令的人。如果只包含屬性的like操作數,則服務器(如果它正在運行)和wmic都將匹配條件,因爲這兩個命令在其命令行中包含相同的子字符串。

您應該包括這樣wmic不包括另一種情況,像

wmic process where "CommandLine like '%cq-author-p4502%' and name='java.exe'" get ProcessID 
+0

正是我一直在尋找。謝謝@ MC ND –