Як переглянути запущені процеси в Bash за допомогою ps
Переглядайте процеси через ps у Bash, читайте PID і власника, перевіряйте окремий процес та обирайте top, коли потрібне спостереження наживо.
Почати інтерактивний урокЩоб побачити, що виконується в терміналі Bash, почніть із ps. Команда без параметрів показує процеси, пов'язані з поточним терміналом. Використовуйте ps -ef, якщо потрібен ширший список для всієї системи, і оцінюйте PID, власника, стан та команду разом, перш ніж щось робити з процесом. Урок про список процесів дає змогу потренуватися читати таке виведення без впливу на справжнє навантаження.
Почніть із поточного термінала
Спочатку виконайте команду без параметрів:
ps
Точні заголовки залежать від операційної системи, але коротке виведення зазвичай містить:
- PID: ідентифікатор процесу, який використовують такі засоби, як kill.
- TTY: термінал, пов'язаний із процесом.
- TIME: процесорний час, використаний процесом.
- CMD або COMMAND: запущена програма.
Цей невеликий список зручний, коли потрібно перевірити команду, запущену з того самого термінала. Це не повний перелік усього, що працює на комп'ютері.
Спробуйте команду
Перегляньте процеси, пов'язані з цим терміналом.
Перегляньте процеси всієї системи
Для повнішого знімка використовуйте:
ps -ef
Зазвичай ця форма містить власника процесу, PID, PID батьківського процесу, дані про запуск і командний рядок. Її простіше зберегти, знайти або додати до нотатки про інцидент, ніж екран, який постійно змінюється.
У документації Linux також трапляється ps aux. Ці дві форми походять із різних стилів параметрів і можуть показувати дещо відмінні стовпці. Обидві широко використовуються, але в скриптах варто обирати один відомий формат, а не припускати, що всі Unix-подібні системи друкують однакове виведення.
Якщо потрібні конкретні поля, запитайте їх явно:
ps -eo pid,ppid,user,stat,%cpu,%mem,command
Так значення й порядок стовпців будуть зрозумілими. Деякі назви полів і параметри сортування відрізняються в Linux і macOS, тому перегляньте man ps, перш ніж додавати докладний формат до переносного скрипту.
Перевірте окремий PID перед використанням
Якщо інший засіб повідомив PID 123, перегляньте цей процес безпосередньо:
ps -p 123 -o pid,ppid,user,stat,etime,command
Замініть 123 на актуальний PID, який ви побачили. Перевірте власника й повну команду, а не лише число. PID може бути використаний повторно після завершення процесу, тож ідентифікатор зі старого повідомлення вже може належати іншій програмі.
Використовуйте top, коли показники змінюються з часом
ps показує один момент. Використовуйте top, щоб стежити за змінами використання процесора чи пам'яті:
top
Натисніть q, щоб вийти з top. Живий перегляд допомагає помітити процес, який знову й знову піднімається на початок списку, тоді як ps краще підходить для фіксації точного моменту або перевірки відомого PID. Жоден із засобів автоматично не визначає, чи безпечно зупиняти процес: це залежить від його власника, команди та призначення.
Перевірка знань
1 / 1Яке значення визначає конкретний процес, який потрібно перевірити?
Коли правильний процес підтверджено, переходьте до безпечного завершення процесу. Усі параметри команди й правила виведення наведено в посібнику procps-ng для ps.
Посилання
Ці посилання на документацію надають авторитетну інформацію про команди, використані в цій статті.
Далі
Перевірте процес і його PID, спочатку надішліть SIGTERM, звірте результат і залиште SIGKILL лише для процесів, що не завершуються коректно.