Manchmal befinde ich mich in einer cmd.exe- Umgebung, die selbst von einer anderen cmd.exe oder einer anderen konsolenbasierten Anwendung gestartet wurde . Wenn ich jetzt in einer solchen Umgebung arbeite, möchte ich wissen, was passiert, wenn ich tippe exit
, dh wenn das Fenster cmd.exe verschwindet oder wenn es zu cmd.exe oder der Anwendung zurückkehrt, die es aufgerufen hat. Das natürlich, weil ich manchmal, wenn ich in cmd.exe arbeite, vergesse, wie ich es genannt habe.
Gibt es also eine Möglichkeit, den übergeordneten Prozess (wenn dies der richtige Begriff ist) einer cmd.exe innerhalb einer anderen cmd.exe herauszufinden ?
windows
terminal
command-line
René Nyffenegger
quelle
quelle
Antworten:
Sie können WMI verwenden, um diese Informationen abzurufen. Die
Win32_Process
Klasse enthältParentProcessId
Also (Verwenden von PowerShell zum Ausführen von WMI-Befehlen - andere WMI-Tools sind verfügbar):
gibt die übergeordnete Prozess-ID von Prozess 1234 an.
quelle
(gwmi win32_process | ? processid -eq $pid).parentprocessid
($ pid enthält die aktuelle Prozess-ID)-filter
Parameter vonGet-WmiObject
(gwmi
) anstelle eines separatenWhere-Object
(?
).)Dies erfolgt nicht innerhalb von cmd.exe selbst, aber der Prozess-Explorer verfügt über eine Baumansicht, in der übergeordnete Prozesse angezeigt werden.
quelle