Перейти к основному содержимому

Запуск и перезапуск приложений

Всем

Что такое приложение, запуск, закрытие и перезапуск

Основные понятия

Любое приложение — это программа, но не каждая программа является приложением.

Приложение (от англ. application или app) — это конкретный вид программы, созданный для того, чтобы пользователь мог выполнять свои задачи напрямую (например, общаться, играть или монтировать видео).

Программы бывают системными и прикладными. Системные программы управляют «железом» компьютера (драйверы, антивирусы, утилиты очистки диска). Прикладные программы — это и есть приложения.

Приложение создано исключительно для конечного пользователя, имеет понятный визуальный интерфейс, запускается и используется пользователем вручную по его желанию. Например, Telegram, Сбербанк Онлайн, Photoshop, игры. Приложения зависят от операционной системы. Название «приложение» пошло от того, что этот софт «прикладывается» к готовой операционной системе (Windows, iOS, Android) и использует её ресурсы, базы данных и функции для работы.

Запуск (или открытие) приложения — это процесс, при котором операционная система считывает файлы приложения с диска, загружает их в оперативную память и выводит интерфейс на экран для работы пользователя.

При обычном запуске:

  • выполняется команда пользователя (вы кликаете по иконке);
  • загружаются данные (система копирует код приложения из медленной постоянной памяти (SSD/HDD) в быструю оперативную память (ОЗУ));
  • выделяются ресурсы (процессор и видеокарта начинают обрабатывать задачи приложения);
  • стартует интерфейс (на экране появляется окно программы или главный экран приложения).

Когда вы нажимаете на «крестик» на ПК или смахиваете приложение вверх на смартфоне, происходит закрытие.

Закрытие приложения — это прекращение работы с его интерфейсом пользователем, а остановка — это принудительное завершение всех его процессов самой операционной системой.

Главная разница заключается в том, продолжает ли программа использовать ресурсы устройства (память и батарею) после того, как исчезла с экрана.

Остановка (или «убить процесс») — это жесткое и полное удаление всех данных приложения из оперативной памяти устройства. Выполняется вручную через настройки смартфона, «Диспетчер задач» на Windows или функцию «Завершить принудительно» на Mac, при этом система мгновенно обрывает все операции приложения.

Перезапуск — это процесс полного закрытия работающего приложения и его немедленного повторного запуска с нуля.

При перезапуске система сначала полностью выгружает приложение из оперативной памяти (сбрасывая все временные процессы), а затем запускает его заново. На смартфонах (iOS/Android) приложение уходит в фоновый режим. Оно «засыпает», сохраняя свое состояние, чтобы вы могли быстро вернуться к работе. Батарея и процессор при этом почти не расходуются. На компьютерах (Windows/macOS) большинство программ при закрытии окна полностью прекращают работу. Однако некоторые (например, Telegram, Skype или антивирусы) просто сворачиваются в системный трей (возле часов) и продолжают работать в фоне.

Перед первым запуском IDE, Node или Python их обычно устанавливают через такой мастер (потом — Run, npm run dev или двойной клик по .exe):

Play ITЗагрузка интерактивного демо…

ТерминСутьКогда слышите
Сборка (build)Превращение исходников в артефакт (.exe, .jar, папка dist/)"Собери проект", npm run build, Build в IDE
Запуск (run, start)ОС или среда создаёт процесс из готового файла или командыДвойной клик, Run, node app.js
СтартТо же, что запуск; часто про службу или сервер, который "поднялся" и слушает порт"Сервер стартовал на :3000"
Остановка (stop)Процесс завершается, порт освобождаетсяЗакрыть окно терминала, docker stop, Stop в IDE
Перезапуск (restart)Stop, затем снова run (иногда с новой сборкой)После смены конфига, "перезапусти nginx"
Hot reloadЧасть кода подхватывается без полного перезапуска процессаVite, dotnet watch, dev-сервер фронта
Отладка (debug)Запуск с остановками на строках, просмотром переменныхF5 в Visual Studio, Debug в IDE

Сборка может идти без запуска (получили файл на диске). Запуск может идти без сборки (готовый .exe или интерпретатор читает .py). В IDE кнопка Run часто делает оба шага подряд — отсюда путаница.

Часто крупная программа (например, игра или Photoshop) — это не просто один .exe файл, а целая папка. В ней файл .exe выполняет роль главного диспетчера, а рядом с ним лежат:

  • .dll файлы — библиотеки (кусочки кода, которые .exe вызывает по мере необходимости)
  • Папки с графикой, звуками и текстами
  • Файлы настроек

Рассмотрим некоторые сценарии.


Готовая программа — файл .exe (и аналоги)

Готовая к запуску программа для пользователя чаще всего представляет собой один или несколько исполняемых файлов, главным из которых на Windows является файл с расширением .exe. Буквы exe — это сокращение от английского executable (исполняемый). Когда вы кликаете по такому файлу, операционная система понимает, что внутри находится зашифрованный машинный код, который нужно передать процессору на выполнение.

В зависимости от операционной системы и типа устройства, форматы таких «готовых программ» (пакетов) бывают разными:

  • на компьютерах Apple (macOS) - .app, .dmg;
  • на смартфонах Android - .apk, .apks;
  • на iPhone (iOS) - .ipa;
  • на компьютерах с Linux - .deb, .rpm, .AppImage.

Сценарий. Программа уже собрана; на диске лежит исполняемый файл.

ШагДействие
1Найти файл (Проводник, ярлык на рабочем столе)
2Двойной щелчок или Enter
3ОС создаёт процесс; появляется окно или иконка в трее

Остановка — закрыть окно, "Выход" в меню или завершить процесс в Диспетчере задач (Ctrl + Shift + Esc).

Перезапуск — закрыть программу и запустить снова. Пересборка не нужна, пока вы не скачали новую версию установщика.

Безопасность

Неизвестные .exe с торрентов и "кряков" — риск. Источники и проверка — в советах для начинающего пользователя ПК.


Проект из IDE — Run и Debug

Сценарий. Вы учитесь программировать; код в папке проекта, среда — Visual Studio, VS Code, IntelliJ IDEA, PyCharm и т.п.

ШагДействие
1Открыть решение или папку проекта (тот каталог, где package.json, .sln, pom.xml)
2Выбрать стартовый проект (если их несколько)
3Run (Выполнить) — зелёный треугольник или Ctrl + F5 / Shift+F10 (зависит от IDE)

IDE обычно:

  • вызывает сборку (компилятор, npm, gradle, mvn);
  • при ошибках сборки процесс не стартует — смотрите панель "Ошибки" / "Problems";
  • при успехе запускает программу (консольное окно, окно приложения, встроенный браузер).

Debug — тот же путь, но с точками остановки (breakpoint); процесс идёт по шагам.

Перезапуск после правки кода

  • с hot reload — сохранили файл, среда сама обновила часть (типично веб-фронт);
  • без hot reload — снова Stop, затем Run (или "Перезапустить" в панели отладки).

Подробнее про компиляцию и интерпретацию — Компиляторы и интерпретаторы.


Утилита из терминала — имя -аргументы

Сценарий. Одноразовая или регулярная команда — git status, python --version, 7z x archive.zip.

ШагДействие
1Открыть терминал в нужной папке (ПКМ по папке → "Открыть в терминале", или cd в уже открытом окне)
2Убедиться, что утилита в PATH
3Ввести команду и Enter

Примеры

cd C:\Projects\my-app
git status
python --version
python main.py --help
cd ~/projects/my-app
ls -la
./script.sh --dry-run

Оболочка разбирает строку и запускает отдельный процесс утилиты; когда команда закончилась, в приглашении снова можно вводить следующую.

Остановка длинной команды — Ctrl + C в том же окне терминала.

База по терминалу — Что такое терминал; знаки |, &&Знаки в командной строке.


Локальный dev-сервер — окно терминала не закрывать

Сценарий. Учебный веб-проект, API на Node/Python, фронт на Vite — в инструкции пишут npm run dev, uvicorn, dotnet run.

ШагДействие
1Открыть терминал в корне проекта (где лежит package.json или README с командой)
2Выполнить команду из документации, например npm run dev или npm start
3Дождаться сообщения вроде ready, listening on http://localhost:5173
4Не закрывать это окно — свернуть или отодвинуть; сервер живёт, пока работает процесс
5Открыть браузер, вставить URL из вывода терминала (или из README)
6Работать в браузере — это веб-интерфейс приложения; терминал — "двигатель" сзади

Остановка — в том же терминале Ctrl + C, дождаться возврата приглашения (PS C:\...> или $).

Перезапуск — снова выполнить ту же команду (npm run dev). Если меняли зависимости (package.json) — иногда сначала npm install.

Типичная ошибка — закрыть крестиком окно терминала: сервер исчезает, в браузере "не удаётся подключиться".

Порт занят (EADDRINUSE, второй npm run dev) — готовые команды — CLI — порты, процессы, dev-сервер.

Первая программа на Node с npm runПервая программа на Node.js; фронт и бэкенд в целом — Frontend и backend.


Служба Windows или демон Linux

Сценарий. Программа работает в фоне без окна — печать, PostgreSQL, nginx, агент мониторинга.

ПлатформаЗапуск / статусОстановка / перезапуск
Windowsservices.msc, PowerShell Start-ServiceStop-Service, Restart-Service
Linuxsystemctl start имяsystemctl stop, systemctl restart

Служба стартует при загрузке ОС или по команде администратора; пользовательский "двойной клик" тут обычно не используется.

Классификация — утилиты, модули, службы; сравнение приложения и службы — Софт рядового пользователя (таблица "Процесс, приложение и служба").


Docker-контейнер

Сценарий. Учебник предлагает поднять БД или веб в контейнере.

ШагДействие
1Windows/macOS — запустить Docker Desktop и дождаться статуса "running" (работает демон dockerd)
2В терминале — docker run ... или docker compose up из папки с docker-compose.yml
3Проверить вывод (Listening, Started) и порты (-p 8080:80)
4Открыть браузер на http://localhost:8080 (порт из команды)

Остановка

  • один контейнер — docker stop <имя_или_id>;
  • compose-проект — docker compose down в той же папке.

Перезапуск

  • docker start для существующего контейнера;
  • или снова docker run / docker compose up (часто с пересборкой docker compose up --build).

Справочник команд — Docker; готовые Dockerfile (Node, Python, Go…) — Dockerfile — 10 типовых образов; готовые compose.yaml (nginx, Postgres, WordPress, Prometheus) — Docker Compose — готовые стеки; PromQL после стека мониторинга — Prometheus + Grafana — запросы; опасные флаги — Опасные скрипты.