Cómo matar un proceso por su linea de comandos
-
Cursos Paso a Paso
,
Noticias
,
Trucos
Edit
Hola Amig@s,
Si necesitamos matar un proceso en concreto por su linea de comandos, por ejemplo si tenemos un CMD o BAT al que se le pasan una serie de variables, y necesitamos matar uno de ellos, sin hacer un taskkill /f /im cmd*, podemos hacerlo de dos formas distintas.
Método Powershell (admite programación desde el planificador de windows)
Nota: Esta opción solo permite matar un proceso, si hay uno duplicado no lo matará.
1-Creamos un fichero llamado matar.ps1
2-Dentro insertamos el siguiente contenido:
(Get-WmiObject win32_process -filter "Name='CMD.exe' AND CommandLine LIKE '%Variable_a_buscar%'").Terminate()
3-Ejecutamos el powershell o lo programamos con la siguiente cadena:
Powershell -ExecutionPolicy ByPass -File matar.ps1
Método Powershell (para matar varios procesos duplicados)
1-Creamos un fichero llamado matardupli.ps1
2-Dentro insertamos el siguiente contenido:
$processes = Get-WmiObject Win32_Process -Filter "name = 'CMD.exe'
foreach($proc in $processes)
{
if($proc.CommandLine.Contains("TEST.CMD"))
{
Write-Host "Cerrando proceso $proc"
Stop-Process -F $proc.ProcessId
}
if($proc.CommandLine.Contains("TEST.CMD"))
{
Write-Host "Cerrando otra vez proceso $proc"
Stop-Process -F $proc.ProcessId
}
}
3-Ejecutamos el powershell o lo programamos con la siguiente cadena:
Powershell -ExecutionPolicy ByPass -File matar.ps1
Método WMIC (no admite programación desde el planificador de windows al carecer de permisos en su ejecución desde dicho punto).
1-Creamos un cmd con el siguiente contenido:
wmic process where "caption='CMD.exe' AND commandline Like '%Variable_a_buscar%'" call terminate
Espero que les haya resultado útil.
Salu2.
0 comentarios:
Publicar un comentario