Процессы
В терминале: zvezda learn processes. Урок покажет карточку и завершится; сделайте шаг и снова запустите урок - он проверит и покажет следующую.
Шаг 1 из 4
Дарья: Кэндзи записал: «Процесс - это запущенная программа. У каждого есть номер - PID». Проверим на счётчике. Запустите его в фоне - с & в конце:
zv-counter &
Bash ответит строкой вроде [1] 12345: номер задания и PID. На сервере работают процессы всех студентов, поэтому свой ищут так:
pgrep -u "$USER" zv-counterШаг 2 из 4
Дарья: Остановить процесс - значит послать ему сигнал. kill PID - вежливая просьба завершиться (сигнал TERM). Счётчик её услышит и уберёт за собой:
kill ВАШ_PID
Чужие процессы kill не тронет - только свои. Бывают упрямые программы, которые TERM игнорируют. Тогда kill -9 PID - сигнал KILL, его перехватить нельзя. Но сначала - всегда обычный kill.
Шаг 3 из 4 (продолжение)
Дарья: Основа пройдена - этого хватит для задания 14. Дальше - для задания 15. Ctrl+C прерывает программу, а Ctrl+Z ставит её на паузу. Подопытной буду я.
Сейчас я жду. Нажмите Ctrl+Z - я встану на паузу, вернётся приглашение bash. Потом наберите fg - и я продолжу. (fg - в этом же окне.)
Шаг 4 из 4 (продолжение)
Дарья: А теперь прервите меня: Ctrl+C.
Шпаргалка
pgrep -u "$USER" имя - найти свои процессы по имени kill PID - попросить завершиться (TERM) kill -9 PID - завершить насильно, если kill не помог Ctrl+C / Ctrl+Z - прервать / поставить на паузу fg, jobs - вернуть с паузы, список заданий этого окна