Я ищу инструмент или метод, чтобы выяснить, какие параметры командной строки были переданы программе, например, когда она была запущена другой программой (сценарий запуска приложения).
84
Я ищу инструмент или метод, чтобы выяснить, какие параметры командной строки были переданы программе, например, когда она была запущена другой программой (сценарий запуска приложения).
Вы можете сделать это с помощью Process Explorer .
Просто наведите курсор мыши на процесс, чтобы увидеть аргументы командной строки, использованные для его запуска:
Кроме того, вы можете открыть свойства процесса и проверить командную строку прямо здесь:
Вы также можете сделать это без Process Explorer, используя службу WMI Windows. Запустите следующее из командной строки:
Если вы хотите вывести вывод в файл (это немного облегчает чтение), используйте параметр / OUTPUT:
источник
Этого также можно добиться с помощью диспетчера задач .
Откройте диспетчер задач (с помощью CTRL-SHIFT-ESC, CTRL-ALT-DELETE или любым другим способом).
Для Windows 7 (и, вероятно, Windows XP):
Для Windows 8:
Столбец командной строки будет добавлен к отображаемым в данный момент столбцам.
источник
PowerShell на помощь.
Найти:
И убить в качестве бонуса:
Вы можете запустить его из powershell напрямую или из ps1, если у вас есть настройки вашей системы. Я подробно описываю неограниченную настройку сценариев: я убиваю зомби с помощью PowerShell, а также другие трюки с PowerShell ...
источник
Предыдущие ответы хороши, если процесс уже запущен и не скоро завершится. Однако если вам нужно (как я сделал) сделать это, возможно, с процессами, запускаемыми несколько раз и / или быстро завершающимися, или, возможно, регистрировать события в течение более длительного периода времени, есть способ сделать это с помощью Process Monitor .
По сути, он регистрирует различные события в системе, в этом случае мы можем просто отфильтровать событие «Запуск процесса» и имя процесса, который мы хотим отслеживать, как показано ниже:
Затем просто оставьте монитор процесса включенным и делайте все, что вы делаете, чтобы запустить процесс, который вы хотите зарегистрировать В столбце «Сведения» или в столбце «Командная строка» (в зависимости от того, как вы их настраиваете) вы можете видеть аргументы командной строки. Например:
Конечно, таким образом вы можете извлечь гораздо больше связанной информации, такой как, что является рабочим каталогом, какие переменные среды были переданы процессу и т. Д. ... Также легко экспортировать результаты в файл.
источник
При использовании CygWin , если я запускаю процесс Python , это пример командной строки:
Но Process Explorer видит только основной exe:
(обратите внимание на «путь: [Ошибка при открытии сообщения процесса]» (см. РЕДАКТИРОВАТЬ-1)). Такие же результаты для
tasklist
:Итак, единственный трюк, который я знаю до сих пор, это найти его через оболочку CygWin Bash
pgrep
:Это полезно знать, поскольку CygWin без проблем работает в Windows, и вы можете использовать его для запуска многих программ POSIX и Python.
РЕДАКТИРОВАТЬ: В Windows вам не нужны привилегии администратора для списка задач. В CygWin они вам понадобятся, чтобы иметь возможность просматривать процесс администратора (что мне кажется более логичным: полная командная строка может иметь некоторые параметры, такие как пароли внутри), поэтому мы должны запустить CygWin Bash в режиме администратора с повышенными правами .
РЕДАКТИРОВАТЬ-1: эта проблема не произойдет, если вы запустите Process Explorer от имени администратора. Спасибо, что указали, @Pacerier.
источник
[Error opening process message]
перейти к
run
или перейтиstart
и искать:источник
/m
показывает загруженные модули (библиотеки DLL и т. д.) и/svc
показывает службы, размещенные в каждом процессе.