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

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

Всем
Зачем эта статья

В инструкциях и видео встречаются слова «запусти», «пересобери», «перезапусти dev-сервер», «нажми Run» — без пояснения, что именно должно произойти. Здесь собраны типовые сценарии: от двойного клика по .exe до контейнера Docker. Теория процессов и файлов на диске — в Что такое программа? и Исполняемые файлы.


Словарь — не путать действия

ТерминСутьКогда слышите
Сборка (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 часто делает оба шага подряд — отсюда путаница.


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

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

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

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

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

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

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


2. Проект из 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 (или «Перезапустить» в панели отладки).

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


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

Сценарий. Одноразовая или регулярная команда: 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 в том же окне терминала.

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


4. Локальный 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.

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

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


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

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

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

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

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


6. 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; опасные флаги — Опасные скрипты.


Сводная таблица — что нажимать и что не трогать

Что запускаетеГде действуетеОкно терминалаБраузерКак остановить
.exe с рабочего столаПроводникпо необходимостиЗакрыть окно программы
Учебный проект в IDEIDEвстроенная консольиногда встроенныйStop / красный квадрат
git, python script.pyТерминалзакрывается само после командыдождаться конца или Ctrl + C
npm run devТерминалдержать открытымосновная работаCtrl + C в терминале
Служба PostgreSQLservices / systemctlклиент БД отдельноstop/restart службы
docker compose upТерминалдержать (или -d в фоне)по проброшенному портуcompose down / docker stop

Частые путаницы

«Запустил, но ничего не вижу». Консольная утилита отработала и завершилась — это нормально. GUI-программа могла уйти в трей. Dev-сервер ждёт браузер по localhost.

«Пересобрал, а старая версия». Запустили старый .exe из другой папки или не остановили прежний процесс на том же порту.

«Порт занят». Предыдущий dev-сервер или контейнер ещё слушает порт — остановите старый процесс или смените порт в конфиге.

Run в IDE vs npm run dev в терминале. IDE может запускать другой профиль (тестовая сборка, другой порт). Сверяйте команду в свойствах запуска и README проекта.

Hot reload vs перезапуск. Hot reload подтягивает часть изменений сам; смена зависимостей, переменных среды или docker-compose.yml почти всегда требует полного перезапуска.


Куда идти глубже

ТемаСтатья
Процесс, поток, загрузка ОСЧто такое программа?
Параметры и конфиг при стартеПоведение программ
Сборка в CI и продDevOps и CI/CD
Отладка и профилированиеРазработка и отладка
Выполнение кода на процессореВыполнение кода

Краткий чек-лист перед жалобой «не работает»

  1. Та ли папка и та ли команда, что в README?
  2. Сборка прошла без ошибок (в IDE или в логе терминала)?
  3. Для сервера — окно терминала ещё открыто и в логе есть listening / ready?
  4. В браузере верный адрес и порт (localhost:5173, не забытый https)?
  5. Для Docker — Docker Desktop запущен?
  6. Старый процесс на том же порту остановлен?

Если все пункты «да», а поведение странное — смотрите лог в терминале или Event Viewer; дальше по роли помогут разделы Терминал и Техническая поддержка.

См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").