Как посмотреть список запущенных процессов в системе
Что проверяют
Для тестировщика это вопрос не про администрирование, а про диагностику: поймёте ли вы, что приложение зависло, течёт по памяти или оставило хвосты после автотестов. Следом часто просят показать, как найти конкретный процесс и завершить его.
Как отвечать
Покажите, что знаете инструменты на всех платформах, где идёт тестирование:
- Linux и macOS:
ps auxдля снимка,topиhtopдля живой картины,pgrep -a chromeдля поиска по имени. На macOS сортировка по CPU задаётся какtop -o cpu, а в графике есть «Мониторинг системы»; - Windows: Диспетчер задач (
Ctrl+Shift+Esc), в консолиtasklistс фильтромtasklist /fi "imagename eq chrome.exe", в PowerShellGet-Process | Sort-Object CPU -Descending | Select-Object -First 10. Завершение черезtaskkill /IM chrome.exe /FилиStop-Process; - Android:
adb shell ps -A(без-Aна свежих версиях покажутся не все процессы),adb shell pidof <пакет>, память приложения черезadb shell dumpsys meminfo <пакет>; - iOS: процессы и память смотрят в Xcode, в Debug navigator и в Instruments.
Дальше расскажите, зачем это в работе. Утечку памяти ищут не по одному снимку, а по динамике: повторяете сценарий двадцать раз и смотрите, растёт ли RSS или «Рабочий набор» в Диспетчере задач. Зависание видно по процессу, который держит 100% одного ядра, или, наоборот, не потребляет CPU при «крутящемся» интерфейсе. После прогона UI-автотестов проверяют, не остались ли chromedriver и браузеры: забытые процессы съедают память стенда и роняют следующие прогоны.
Где спотыкаются
Делают вывод об утечке по одному значению. Приложение может законно занять память под кэш, признак утечки это рост, который не уходит после закрытия экрана и сборки мусора.
Путают виртуальную память (VSZ) с реально занятой (RSS). Первая у браузера может быть огромной и ни о чём не говорит.
Смотрят только на один процесс браузера. Chrome и Electron-приложения многопроцессные, и прожорливым может оказаться рендерер отдельной вкладки.