У меня есть приложение Windows на C#, которое получает Android Logs (LOGCAT) и Android BugReport (BugReport).Как убить процесс, сгенерированный через оконную строку cmd с помощью C#?
Чтобы получить эти журналы, я использую файлы bat с такими командами. Для отчета об ошибке,
adb bugreport >>C:\User\Desktop\androidUser\bugrep%dt%_%tm%.txt
Для LogCat,
adb logcat -long V >>C:\User\Desktop\androidUser\LogCat%dt%_%tm%.txt
дт и тм является временными метки.
Я могу запускать обе эти команды на одном (с двумя разными кнопками на веб-странице aspx), но если я хочу остановиться только на одном из них, возникает проблема.
Проблема в том, что я не могу убить процесс, используя имя процесса как одно и то же для обеих задач. Еще одна вещь, которую я пробовал, - это сохранить идентификатор процесса во время выполнения команды и убить ее, но связанный с pid при выполнении задачи имеет cmd, поэтому задача adb продолжает работать и не убивается, как мне хотелось.
Ну , как * вы можете различать эти два? Если у вас нет способа сделать это, вы ввернуты :) Процессы, запускаемые из cmd, являются процессами, как и любые другие. Почему вы запускаете их через cmd в первую очередь, если хотите отслеживать их в будущем? – Luaan
Привет @Luaan, Я отвлекаюсь, выставляя их в Taskmanager Windows. Я получаю эти журналы с веб-страницы, и для получения кнопок я запускаю файлы .bat с приведенными выше инструкциями. Поэтому мне нужно использовать cmd. Любая альтернатива для cmd в этом случае? –
Изучите классы 'Process' и' ProcessStartInfo'. Вы можете запускать приложения с аргументами, которые, кажется, все, что вы делаете. Не можете ли вы обойти необходимость в .bat-файлах? Это сделало бы отслеживание каждого процесса независимо тривиальным. – InBetween