場景:我想檢查給定的進程是否正在運行,如果是,則等待它關閉。如何使用WMI在Perl中查找當前用戶的進程
我的Perl腳本使用WMI-> Win32_Process來獲取正在運行的進程列表。我能找到正在運行的進程與下面的代碼
my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\localhost\\root\\CIMV2");
my $sqry = "SELECT * FROM Win32_Process where Name = \"$processName\" ";`
其中$processName
在腳本中設置。
上面的代碼在桌面上運行良好,但代碼在終端服務器中以不同的方式工作,因爲它上面的代碼選擇了其他用戶的運行進程。
問題:如何在上述查詢中添加用戶名/ ID過濾器?有沒有簡單的方法來獲得當前用戶的過程?
您應該向我們展示'$ processName'是如何設置的。也許它變得更清楚你想要做什麼。 –
您正在使用哪個WMI模塊?聽起來像'DBD :: WMI'。 – Borodin
'$ processName'是我的應用程序名稱..因爲參數的緣故,我們可以將它保留爲outlook.exe – KK99