Análogo do Windows a $1 (PID do último processo iniciado)

Análogo do Windows a $1 (PID do último processo iniciado)

Como acessar o PID do Windows do último processo iniciado usando WScript.Shell ou similar?

Eu sei como iniciar um processo e obter seu PID:

Set oExec = WshShell.Exec( program )
Set pid = oExec.ProcessID

Agora o problema é que o programa é outro lote (ou pode ser VBScript). O lote inicia um programa real cujo PID eu gostaria de obter.

No Linux (shell script) é muito fácil de fazer. apenaspid=$!

Mas o que posso fazer no Windows?

Responder1

Acho que não há equivalente a $! No Windows.

Caso deseje recuperar o PID do terceiro processo, você pode procurá-lo usando WMI. Um exemplo disso pode ser encontradoaqui(apenas pesquisando e exibindo as informações) ouaqui(procurando e matando o processo).

Se o executável do terceiro nome não for conhecido, você pode querer usar umObjeto de trabalhoque agrupa vários processos em um objeto. E você poderia facilmente matar todos eles de uma vez comTerminarJobObject.

VerMSDNpara uma visão geral rápida ouesta pergunta no StackOverflow.

No entanto, não sei se esses métodos podem ser usados ​​no VBScript.

informação relacionada