क्या एक कमांड लाइन उपयोगिता है जो एक विशिष्ट कमांड लाइन के साथ सभी प्रक्रियाओं को मारती है?
जैसे "java.exe" नामक सभी प्रक्रियाओं को एक कमांड लाइन के साथ मारें, जिसमें "-jar selenium-server.jar" शामिल है। यह प्रक्रिया एक्सप्लोरर के माध्यम से संभव है।
क्या एक कमांड लाइन उपयोगिता है जो एक विशिष्ट कमांड लाइन के साथ सभी प्रक्रियाओं को मारती है?
जैसे "java.exe" नामक सभी प्रक्रियाओं को एक कमांड लाइन के साथ मारें, जिसमें "-jar selenium-server.jar" शामिल है। यह प्रक्रिया एक्सप्लोरर के माध्यम से संभव है।
जवाबों:
Windows XP में, आप WMIC, the का उपयोग करके यह आसानी से कर सकते हैं WMI कंसोल। कमांड प्रॉम्प्ट से, निम्न टाइप करें:
wmic Path win32_process Where "CommandLine Like '%-jar selenium-server.jar%'" Call Terminate
संपादित करें:
मैंने उपनाम बदल दिया ' प्रक्रिया 'इसके द्वारा पूर्ण पथ (' पथ win32_process ') के रूप में एविएटर पोर्ट है। यह उपनाम प्रत्येक OS पर घोषित नहीं किया जा सकता है।
यदि आप एक Windows संस्करण का उपयोग कर रहे हैं जिसमें WMIC कमांड है। आप यह कोशिश कर सकते हैं
wmic path win32_process Where "Caption Like '%java.exe%' AND CommandLine Like '%selenium.jar%'" get ProcessId|more +1
more +1 हेडर युक्त पहली लाइन को हटाता है और अकेले पीआईडी प्रिंट करता है। यदि सेलेनियम.जर युक्त एक से अधिक जावा प्रक्रियाएं हैं तो यह प्रति पंक्ति एक पीआईडी लौटाएगा।
मेरा मानना है कि आप पॉवरशेल के साथ गेट-प्रोसेस और StartInfo.Arguments का उपयोग करके उस प्रक्रिया को कर सकते हैं जो आप चाहते हैं।
$procs = Get-Process java
foreach($proc in $procs)
{
if($proc.StartInfo.Arguments -contains "-jar selenium-server.jar")
{
kill $proc
}
}
(मैंने पूरी तरह से परीक्षण नहीं किया है, लेकिन आपको इसे काम करने के लिए इसे ट्विस्ट करने में सक्षम होना चाहिए)
शक्ति कोशिका:-
$oProcs = get-process explorer;foreach ($oProc in $oProcs){if ($oProc.Path.Contains('C:\Windows')) {Stop-Process $oProc.Id}}
मैं की एक विविधता का उपयोग करें ब्रेन की पॉवरशेल स्क्रिप्ट ।
यह कमांड लाइन और अन्य जानकारी को भी आउटपुट करता है।
$processes = Get-WmiObject Win32_Process -Filter "name = 'java.exe'"
foreach($proc in $processes)
{
if($proc.CommandLine.Contains("selenium-server.jar"))
{
Write-Host "stopping proccess $($proc.ProcessId) with $($proc.ThreadCount) threads; $($proc.CommandLine.Substring(0, 50))..."
Stop-Process -F $proc.ProcessId
} else
{
Write-Host "skipping proccess $($proc.ProcessId) with $($proc.ThreadCount) threads; $($proc.CommandLine.Substring(0, 50))..."
}
}
एक और शक्तियां भिन्नता। यह मूल रूप से समान है, शायद टाइप करना और याद रखना आसान है। -मैच वास्तव में एक नियमित अभिव्यक्ति ले सकता है।
get-wmiobject win32_process | where commandline -match selenium-server.jar
| remove-wmiobject