Szukam narzędzia lub metody, aby dowiedzieć się, jakie parametry wiersza poleceń zostały przekazane do programu, na przykład, gdy został on uruchomiony przez inny program (scenariusz aplikacji uruchamiającej).
82
Szukam narzędzia lub metody, aby dowiedzieć się, jakie parametry wiersza poleceń zostały przekazane do programu, na przykład, gdy został on uruchomiony przez inny program (scenariusz aplikacji uruchamiającej).
Możesz to zrobić za pomocą Eksploratora procesów .
Najedź kursorem myszy na proces, aby zobaczyć argumenty wiersza poleceń użyte do jego uruchomienia:
Alternatywnie możesz otworzyć właściwości procesu i sprawdzić w tym miejscu wiersz poleceń:
Możesz to zrobić również bez Process Explorera, korzystając z usługi WMI systemu Windows. Uruchom następujące polecenie w wierszu polecenia:
Jeśli chcesz zrzucić dane wyjściowe do pliku (ułatwia to czytanie), użyj przełącznika / OUTPUT:
źródło
Można to również osiągnąć za pomocą Menedżera zadań .
Otwórz menedżera zadań (za pomocą CTRL-SHIFT-ESC, CTRL-ALT-DELETE lub dowolną inną metodą).
W systemie Windows 7 (i prawdopodobnie Windows XP):
W systemie Windows 8:
Kolumna Wiersze poleceń zostanie dodana do aktualnie wyświetlanych kolumn.
źródło
PowerShell na ratunek.
Odnaleźć:
I zabij jako bonus:
Możesz uruchomić go bezpośrednio z PowerShell lub z PS1, jeśli masz już konfigurację systemu. Szczegółowo opisuję nieograniczoną konfigurację skryptu dotyczącą zabijania zombie za pomocą PowerShell, a także innych sztuczek PowerShell ...
źródło
Poprzednie odpowiedzi są świetne w przypadku, gdy proces już trwa i wkrótce się nie zakończy. Jednakże, jeśli potrzebujesz (tak jak ja), aby to zrobić, być może procesory uruchamiają się wiele razy i / lub szybko kończą, lub być może rejestrują zdarzenia w dłuższym okresie czasu, istnieje na to sposób za pomocą Monitora procesów .
Zasadniczo rejestruje różne zdarzenia w systemie, w tym przypadku możemy po prostu odfiltrować zdarzenie „Rozpoczęcie procesu” i nazwę procesu, który chcemy monitorować, jak pokazano poniżej:
Następnie po prostu utrzymuj monitor procesu działający i rób wszystko, co chcesz, aby proces, który chcesz zalogować, był uruchomiony. W kolumnie „Szczegóły” lub w kolumnie „Wiersz poleceń” (w zależności od ich konfiguracji) możesz zobaczyć argumenty wiersza poleceń. Na przykład:
Oczywiście w ten sposób możesz wyodrębnić znacznie więcej powiązanych informacji, takich jak katalog roboczy, jakie zmienne środowiskowe zostały przekazane w procesie itp. Również łatwo jest wyeksportować wyniki do pliku.
źródło
Jeśli korzystam z CygWin , jeśli uruchomię proces w języku Python , jest to przykład wiersza poleceń:
Ale Process Explorer widzi tylko główny plik exe:
(zwróć uwagę na „ścieżkę: [Błąd otwierania komunikatu procesowego]” (patrz EDYCJA-1)). Te same wyniki dla
tasklist
:Tak więc jedyną sztuczką, jaką znam do tej pory, jest znalezienie jej za pomocą powłoki CygWin Bash
pgrep
:Warto o tym wiedzieć, o ile CygWin nie ma problemów w systemie Windows i można go używać do uruchamiania wielu programów POSIX i Python.
EDYCJA: W systemie Windows wydaje się, że nie potrzebujesz uprawnień administratora do listy zadań. W CygWin będziesz potrzebował ich, aby móc zobaczyć proces administratora (co wydaje mi się bardziej logiczne: pełny wiersz poleceń może zawierać pewne parametry, takie jak hasła ), więc musimy uruchomić CygWin Bash w podwyższonym trybie administratora .
EDYCJA 1: Ten problem nie wystąpi, jeśli uruchomisz Process Explorer jako administrator. Dziękuję za wskazanie, @Pacerier.
źródło
[Error opening process message]
przejdź do
run
lub gotostart
i wyszukaj:źródło
/m
pokazuje załadowane moduły (biblioteki DLL itp.) i/svc
pokazuje usługi hostowane w każdym procesie.