Урок 7 из 8 · 20 мин · обновлено
Процессы, программы и сеть: top, apt, curl, ssh
Как посмотреть запущенные программы командами ps и top и остановить зависшую через kill, как устанавливать программы через apt, проверять сеть командами ping и curl и подключаться к серверу по SSH.
Процессы: ps, top, kill
Каждая запущенная программа — процесс. У процесса есть номер — PID — и владелец.
ps aux | grep python
ps aux выводит все процессы системы, а grep оставляет нужные. Во втором столбце — PID.
top показывает процессы в реальном времени: кто сколько занимает процессора и памяти. Вверху — общая нагрузка. Выход — Q. Многие ставят более наглядный htop, он устанавливается командой из следующего раздела.
Если программа зависла, её останавливают по номеру:
kill 4821
kill -9 4821
kill вежливо просит процесс завершиться: программа успеет сохранить данные. kill -9 завершает принудительно, без вопросов — это крайняя мера.
Программу можно запустить в фоне, добавив & в конце: python3 server.py &. Терминал сразу освободится для других команд.
Установка программ: apt
В Linux программы обычно не скачивают с сайтов, а ставят из репозиториев — проверенных хранилищ дистрибутива. В Ubuntu и Debian этим занимается apt:
sudo apt update
sudo apt install htop
sudo apt upgrade
sudo apt remove htop
apt update— скачать свежий список пакетов и версий. Сами программы при этом не меняются;apt install— установить программу вместе со всем, что ей нужно;apt upgrade— обновить установленные программы;apt remove— удалить.
В других дистрибутивах свои менеджеры пакетов, например dnf в Fedora. На macOS популярен Homebrew: brew install htop.
Проверить, где находится программа и установлена ли она: which htop.
Сеть: ping и curl
ping -c 3 ya.ru
ping проверяет, отвечает ли компьютер в сети и как быстро. -c 3 — три попытки. Без него ping работает бесконечно, остановить — Ctrl+C. Учтите: некоторые серверы на ping не отвечают специально.
curl -I https://ya.ru
curl отправляет запрос к сайту или API и показывает ответ. -I — только заголовки ответа: код (200 — всё хорошо, 404 — не найдено), тип содержимого, дату. Без -I curl выведет саму страницу. Скачать файл: curl -O адрес. С curl удобно проверять API — подробно запросы и ответы разобраны в курсе «Postman и API для начинающих».
Удалённый сервер: ssh и scp
Серверы стоят в дата-центрах, и работают с ними через SSH — защищённое подключение к командной строке другого компьютера:
ssh anna@203.0.113.10
При первом подключении SSH спросит, доверяете ли вы серверу, — ответьте yes. После входа приглашение сменится на anna@server:~$: теперь все команды выполняются на сервере. Выйти — exit.
Вместо пароля обычно используют ключи: пару файлов, которую создаёт команда ssh-keygen. Публичный ключ кладут на сервер, а личный никому не передают — права на него 600, как в прошлом уроке.
Скопировать файл на сервер и обратно — scp:
scp report.txt anna@203.0.113.10:/home/anna/
scp anna@203.0.113.10:/var/log/app.log .
Попробуйте сами. Установите htop, запустите его и найдите процесс своего терминала. Затем проверьте командой curl -I, какой код ответа вернёт адрес несуществующей страницы, например https://ya.ru/no-such-page-123.
Решение
sudo apt update
sudo apt install htop
htop
curl -I https://ya.ru/no-such-page-123
В htop процесс оболочки называется bash. Поиск — клавиша F3, выход — Q или F10.
curl -I для несуществующей страницы обычно вернёт строку с кодом 404 — «не найдено». Некоторые сайты вместо этого перенаправляют на главную: тогда будет код 301 или 302, а адрес перехода — в строке location.
Мини-тест: проверьте себя
Закрепите урок: несколько вопросов, разбор ответов — в конце.
-
Что такое PID?
У каждого процесса уникальный номер. По нему процесс останавливают командой kill.
-
Зачем перед установкой программы выполняют sudo apt update?
apt update обновляет только список пакетов. Обновить сами программы — sudo apt upgrade.
-
Как подключиться к серверу 203.0.113.10 под пользователем anna?
ssh открывает командную строку удалённого сервера. Дальше вы работаете на нём теми же командами.