¿Cómo acceder al PID de Windows del último proceso iniciado utilizando WScript.Shell o similar?
Sé cómo iniciar un proceso y obtener su PID:
Set oExec = WshShell.Exec( program )
Set pid = oExec.ProcessID
Ahora el problema es que el programa es otro lote (o podría ser VBScript). El lote inicia un programa real cuyo PID me gustaría obtener.
En Linux (shell script) es muy fácil de hacer. justopid=$!
¿Pero qué puedo hacer en Windows?
Respuesta1
¡Creo que no hay equivalente a $! En Windows.
En caso de que desee recuperar el PID del tercer proceso, puede buscarlo usando WMI. Un ejemplo de esto se podría encontraraquí(simplemente buscando y mostrando la información) oaquí(buscando y matando el proceso).
Si no se conoce el ejecutable del tercer nombre, es posible que desee utilizar unObjeto de trabajoque agrupa varios procesos en un solo objeto. Y fácilmente podrías matarlos a todos a la vez conTerminarTrabajoObjeto.
VerMSDNpara una descripción general rápida oesta pregunta en StackOverflow.
Sin embargo, no sé si estos métodos se pueden utilizar desde VBScript.