[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/linux/ubuntu-service-management":3,"mdc-ynrvcn-key":613,"mdc-vcnaq3-key":647,"mdc-9gk1zk-key":684,"mdc--yextvr-key":701,"mdc--p2d51i-key":726,"mdc--sptxhg-key":742,"mdc--5mk7ry-key":765,"related-/guides/linux/ubuntu-cron-jobs-setup,/guides/linux/linux-firewall-configuration,/errors/linux/service-failed-start":795},{"id":4,"title":5,"appliesTo":6,"author":10,"body":11,"canonical":553,"code":553,"createdAt":554,"description":555,"difficulty":556,"draft":557,"estimatedTime":558,"extension":559,"faq":560,"howToSteps":570,"howToTotalTime":583,"image":553,"keywords":584,"locale":592,"meta":593,"navigation":295,"path":594,"platform":595,"related":596,"section":600,"seo":601,"severity":602,"stem":603,"summary":604,"tags":605,"twitterCreator":553,"twitterSite":553,"type":611,"updatedAt":554,"__hash__":612},"content_ru/guides/linux/ubuntu-service-management.md","Управление сервисами в Ubuntu: настройка systemctl за 10 минут",[7,8,9],"Ubuntu 20.04 LTS","Ubuntu 22.04 LTS","Ubuntu 24.04 LTS","FixPedia Team",{"type":12,"value":13,"toc":543},"minimark",[14,19,28,32,50,54,61,88,99,122,125,143,147,150,182,196,199,203,206,226,241,245,248,263,266,356,370,384,387,407,411,414,436,443,463,473,477,494,514,539],[15,16,18],"h2",{"id":17},"зачем-управлять-службами-вручную","Зачем управлять службами вручную",[20,21,22,23,27],"p",{},"В современных версиях Ubuntu за все фоновые процессы отвечает ",[24,25,26],"code",{},"systemd",". Умение управлять службами напрямую влияет на безопасность сервера, потребление ресурсов и скорость загрузки системы. После выполнения этого руководства вы сможете останавливать зависшие демоны, оптимизировать список автозагрузки и разворачивать собственные приложения как системные сервисы без сторонних скриптов инициализации.",[15,29,31],{"id":30},"подготовка-и-требования","Подготовка и требования",[20,33,34,35,37,38,41,42,45,46,49],{},"Перед началом убедитесь, что у вас есть доступ к терминалу с правами обычного пользователя. Большинство операций с ",[24,36,26],{}," требуют привилегий суперпользователя, поэтому команды будут выполняться с префиксом ",[24,39,40],{},"sudo",". Гайд полностью совместим с Ubuntu 20.04, 22.04 и 24.04, где ",[24,43,44],{},"systemctl"," является стандартным менеджером инициализации. Откройте терминал (",[24,47,48],{},"Ctrl+Alt+T",") или подключитесь по SSH.",[15,51,53],{"id":52},"шаг-1-мониторинг-и-диагностика-процессов","Шаг 1: Мониторинг и диагностика процессов",[20,55,56,57,60],{},"Прежде чем вмешиваться в работу системы, оцените текущее состояние. Вывести подробную информацию о конкретной службе (например, ",[24,58,59],{},"ssh",") поможет команда:",[62,63,68],"pre",{"className":64,"code":65,"language":66,"meta":67,"style":67},"language-bash shiki shiki-themes github-light github-dark","sudo systemctl status ssh\n","bash","",[24,69,70],{"__ignoreMap":67},[71,72,75,78,82,85],"span",{"class":73,"line":74},"line",1,[71,76,40],{"class":77},"sScJk",[71,79,81],{"class":80},"sZZnC"," systemctl",[71,83,84],{"class":80}," status",[71,86,87],{"class":80}," ssh\n",[20,89,90,91,94,95,98],{},"В ответе вы увидите поле ",[24,92,93],{},"Active: active (running)"," или ",[24,96,97],{},"failed",". Для поиска проблем используйте журналы конкретной службы:",[62,100,102],{"className":64,"code":101,"language":66,"meta":67,"style":67},"journalctl -u ssh --since \"1 hour ago\"\n",[24,103,104],{"__ignoreMap":67},[71,105,106,109,113,116,119],{"class":73,"line":74},[71,107,108],{"class":77},"journalctl",[71,110,112],{"class":111},"sj4cs"," -u",[71,114,115],{"class":80}," ssh",[71,117,118],{"class":111}," --since",[71,120,121],{"class":80}," \"1 hour ago\"\n",[20,123,124],{},"Чтобы получить полный список загруженных юнитов и отфильтровать только работающие:",[62,126,128],{"className":64,"code":127,"language":66,"meta":67,"style":67},"systemctl list-units --type=service --state=running\n",[24,129,130],{"__ignoreMap":67},[71,131,132,134,137,140],{"class":73,"line":74},[71,133,44],{"class":77},[71,135,136],{"class":80}," list-units",[71,138,139],{"class":111}," --type=service",[71,141,142],{"class":111}," --state=running\n",[15,144,146],{"id":145},"шаг-2-базовое-управление-состоянием","Шаг 2: Базовое управление состоянием",[20,148,149],{},"Если служба зависла или требует сброса конфигурации, примените одну из стандартных команд:",[151,152,153,160,170,176],"ul",{},[154,155,156,159],"li",{},[24,157,158],{},"sudo systemctl start nginx"," — мгновенный запуск процесса.",[154,161,162,165,166,169],{},[24,163,164],{},"sudo systemctl stop nginx"," — корректная остановка (отправляет сигнал ",[24,167,168],{},"SIGTERM",").",[154,171,172,175],{},[24,173,174],{},"sudo systemctl restart nginx"," — последовательная остановка и запуск (полезно после правки конфигов).",[154,177,178,181],{},[24,179,180],{},"sudo systemctl reload nginx"," — перечитывает конфигурацию без обрыва текущих подключений.",[183,184,185],"blockquote",{},[20,186,187,188,191,192,195],{},"💡 Совет: Всегда используйте ",[24,189,190],{},"reload"," вместо ",[24,193,194],{},"restart"," для веб-серверов и баз данных, если изменения в конфигах позволяют это. Это сохранит активные сессии пользователей и снизит простой.",[197,198],"in-article-ad",{},[15,200,202],{"id":201},"шаг-3-настройка-автозагрузки","Шаг 3: Настройка автозагрузки",[20,204,205],{},"По умолчанию многие службы включены при установке, но вы можете управлять их поведением при старте системы.",[151,207,208,214,220],{},[154,209,210,211],{},"Включить автозапуск: ",[24,212,213],{},"sudo systemctl enable nginx",[154,215,216,217],{},"Отключить автозапуск: ",[24,218,219],{},"sudo systemctl disable nginx",[154,221,222,223],{},"Полностью заблокировать запуск вручную и автоматически: ",[24,224,225],{},"sudo systemctl mask nginx",[20,227,228,229,232,233,236,237,240],{},"Проверить статус автозагрузки можно через ",[24,230,231],{},"systemctl is-enabled nginx",". Если команда вернула ",[24,234,235],{},"enabled",", юнит будет стартовать вместе с ОС. Для временного отключения службы только на текущую сессию используйте ",[24,238,239],{},"sudo systemctl mask --runtime nginx",".",[15,242,244],{"id":243},"шаг-4-создание-собственного-сервиса","Шаг 4: Создание собственного сервиса",[20,246,247],{},"Чтобы ваше приложение запускалось в фоне и восстанавливалось после краха, создайте юнит-файл. Откройте редактор:",[62,249,251],{"className":64,"code":250,"language":66,"meta":67,"style":67},"sudo nano /etc/systemd/system/myapp.service\n",[24,252,253],{"__ignoreMap":67},[71,254,255,257,260],{"class":73,"line":74},[71,256,40],{"class":77},[71,258,259],{"class":80}," nano",[71,261,262],{"class":80}," /etc/systemd/system/myapp.service\n",[20,264,265],{},"Вставьте базовую структуру:",[62,267,271],{"className":268,"code":269,"language":270,"meta":67,"style":67},"language-ini shiki shiki-themes github-light github-dark","[Unit]\nDescription=Мое кастомное приложение\nAfter=network.target\n\n[Service]\nUser=myuser\nGroup=mygroup\nWorkingDirectory=/opt/myapp\nExecStart=/usr/bin/python3 /opt/myapp/main.py\nRestart=always\nRestartSec=5\n\n[Install]\nWantedBy=multi-user.target\n","ini",[24,272,273,278,284,290,297,303,309,315,321,327,333,339,344,350],{"__ignoreMap":67},[71,274,275],{"class":73,"line":74},[71,276,277],{},"[Unit]\n",[71,279,281],{"class":73,"line":280},2,[71,282,283],{},"Description=Мое кастомное приложение\n",[71,285,287],{"class":73,"line":286},3,[71,288,289],{},"After=network.target\n",[71,291,293],{"class":73,"line":292},4,[71,294,296],{"emptyLinePlaceholder":295},true,"\n",[71,298,300],{"class":73,"line":299},5,[71,301,302],{},"[Service]\n",[71,304,306],{"class":73,"line":305},6,[71,307,308],{},"User=myuser\n",[71,310,312],{"class":73,"line":311},7,[71,313,314],{},"Group=mygroup\n",[71,316,318],{"class":73,"line":317},8,[71,319,320],{},"WorkingDirectory=/opt/myapp\n",[71,322,324],{"class":73,"line":323},9,[71,325,326],{},"ExecStart=/usr/bin/python3 /opt/myapp/main.py\n",[71,328,330],{"class":73,"line":329},10,[71,331,332],{},"Restart=always\n",[71,334,336],{"class":73,"line":335},11,[71,337,338],{},"RestartSec=5\n",[71,340,342],{"class":73,"line":341},12,[71,343,296],{"emptyLinePlaceholder":295},[71,345,347],{"class":73,"line":346},13,[71,348,349],{},"[Install]\n",[71,351,353],{"class":73,"line":352},14,[71,354,355],{},"WantedBy=multi-user.target\n",[20,357,358,359,362,363,365,366,369],{},"Здесь ",[24,360,361],{},"Restart=always"," гарантирует, что ",[24,364,26],{}," автоматически перезапустит процесс при падении. ",[24,367,368],{},"After=network.target"," указывает, что сервис должен стартовать только после инициализации сетевого стека. После сохранения примените изменения:",[62,371,373],{"className":64,"code":372,"language":66,"meta":67,"style":67},"sudo systemctl daemon-reload\n",[24,374,375],{"__ignoreMap":67},[71,376,377,379,381],{"class":73,"line":74},[71,378,40],{"class":77},[71,380,81],{"class":80},[71,382,383],{"class":80}," daemon-reload\n",[20,385,386],{},"Затем активируйте и запустите его одной командой:",[62,388,390],{"className":64,"code":389,"language":66,"meta":67,"style":67},"sudo systemctl enable --now myapp\n",[24,391,392],{"__ignoreMap":67},[71,393,394,396,398,401,404],{"class":73,"line":74},[71,395,40],{"class":77},[71,397,81],{"class":80},[71,399,400],{"class":80}," enable",[71,402,403],{"class":111}," --now",[71,405,406],{"class":80}," myapp\n",[15,408,410],{"id":409},"проверка-результата","Проверка результата",[20,412,413],{},"Убедитесь, что сервис работает штатно. Выполните:",[62,415,417],{"className":64,"code":416,"language":66,"meta":67,"style":67},"systemctl list-units --type=service | grep myapp\n",[24,418,419],{"__ignoreMap":67},[71,420,421,423,425,427,431,434],{"class":73,"line":74},[71,422,44],{"class":77},[71,424,136],{"class":80},[71,426,139],{"class":111},[71,428,430],{"class":429},"szBVR"," |",[71,432,433],{"class":77}," grep",[71,435,406],{"class":80},[20,437,438,439,442],{},"Статус должен быть ",[24,440,441],{},"active",". Дополнительно проверьте логи на наличие ошибок запуска:",[62,444,446],{"className":64,"code":445,"language":66,"meta":67,"style":67},"sudo journalctl -u myapp -e\n",[24,447,448],{"__ignoreMap":67},[71,449,450,452,455,457,460],{"class":73,"line":74},[71,451,40],{"class":77},[71,453,454],{"class":80}," journalctl",[71,456,112],{"class":111},[71,458,459],{"class":80}," myapp",[71,461,462],{"class":111}," -e\n",[20,464,465,466,94,469,472],{},"Если в логах нет строк с ",[24,467,468],{},"ERROR",[24,470,471],{},"FATAL",", а процесс занимает ресурсы только при реальной нагрузке, настройка завершена успешно.",[15,474,476],{"id":475},"возможные-проблемы","Возможные проблемы",[20,478,479,486,487,490,491,240],{},[480,481,482,483],"strong",{},"Ошибка ",[24,484,485],{},"Failed to execute operation: No such file or directory","\nОбычно возникает при попытке включить несуществующий юнит. Проверьте опечатки в названии и убедитесь, что файл лежит именно в ",[24,488,489],{},"/etc/systemd/system/",". После добавления или удаления файлов всегда запускайте ",[24,492,493],{},"sudo systemctl daemon-reload",[20,495,496,503,504,507,508,511,512,240],{},[480,497,498,499,502],{},"Служба не останавливается (",[24,500,501],{},"Job for ... canceled",")","\nПроцесс мог игнорировать сигнал завершения. Принудительно завершите его командой ",[24,505,506],{},"sudo systemctl kill --signal=SIGKILL имя_службы",", а затем выполните ",[24,509,510],{},"stop",". Проверьте код возврата приложения или обновите его, так как корректные демоны должны обрабатывать ",[24,513,168],{},[20,515,516,519,520,523,524,527,528,531,532,535,536,240],{},[480,517,518],{},"Ошибка доступа к файлам в WorkingDirectory","\nЕсли в логах видны ",[24,521,522],{},"Permission denied",", убедитесь, что пользователь, указанный в ",[24,525,526],{},"User="," в секции ",[24,529,530],{},"[Service]",", имеет права на чтение и выполнение файлов в рабочей директории. Исправить можно через ",[24,533,534],{},"sudo chown -R myuser:mygroup /opt/myapp"," и ",[24,537,538],{},"sudo chmod -R 750 /opt/myapp",[540,541,542],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":67,"searchDepth":280,"depth":280,"links":544},[545,546,547,548,549,550,551,552],{"id":17,"depth":280,"text":18},{"id":30,"depth":280,"text":31},{"id":52,"depth":280,"text":53},{"id":145,"depth":280,"text":146},{"id":201,"depth":280,"text":202},{"id":243,"depth":280,"text":244},{"id":409,"depth":280,"text":410},{"id":475,"depth":280,"text":476},null,"2026-04-06 16:36:07","Научитесь запускать, останавливать и автозагружать службы в Ubuntu. Пошаговая инструкция с командами systemctl для стабильной работы системы.","easy",false,"10-15 мин","md",[561,564,567],{"question":562,"answer":563},"Почему systemctl не видит мою службу?","Убедитесь, что файл юнита находится в `/etc/systemd/system/`, имеет расширение `.service` и вы выполнили `sudo systemctl daemon-reload` после любых изменений.",{"question":565,"answer":566},"В чём разница между stop, disable и mask?","`stop` останавливает процесс сейчас, `disable` убирает автозапуск при загрузке, а `mask` полностью блокирует любой запуск службы, заменяя её символической ссылкой на `/dev/null`.",{"question":568,"answer":569},"Как безопасно проверить изменения в юните?","Используйте `systemd-analyze verify /etc/systemd/system/ваш_сервис.service` для поиска синтаксических ошибок и битых путей до применения изменений.",[571,574,577,580],{"name":572,"text":573},"Просмотр статуса и списка служб","Запустите `sudo systemctl status имя_службы` для проверки текущего состояния или `systemctl list-units --type=service` для вывода всех активных процессов.",{"name":575,"text":576},"Запуск, остановка и перезапуск","Управляйте процессами в реальном времени командами `sudo systemctl start/stop/restart имя_службы`.",{"name":578,"text":579},"Настройка автозагрузки","Разрешите автоматический запуск через `sudo systemctl enable имя_службы` или запретите его с помощью `disable`.",{"name":581,"text":582},"Создание собственного юнита","Создайте файл `.service` в `/etc/systemd/system/`, опишите параметры запуска и обновите конфигурацию командой `daemon-reload`.","PT15M",[585,586,587,588,589,590,591],"управление службами ubuntu","systemctl команды","автозагрузка сервисов linux","как перезапустить службу ubuntu","создание systemd юнита","проверка статуса сервиса","systemctl enable disable","ru_RU",{},"/guides/linux/ubuntu-service-management","linux",[597,598,599],"/guides/linux/ubuntu-cron-jobs-setup","/guides/linux/linux-firewall-configuration","/errors/linux/service-failed-start","Гайды Linux",{"title":5,"description":555},"low","guides/linux/ubuntu-service-management","Разбираем базовые и продвинутые команды systemctl для контроля фоновых процессов в Ubuntu. Вы научитесь управлять автозапуском, проверять статусы и создавать собственные юниты.",[606,607,26,608,609,66,610],"Linux","Ubuntu","администрирование","services","настройка системы","guide","YjFhqJxNWkrEjO9NWJPrsZOZ-zB1Eq8iLzs1u5deI4g",{"data":614,"body":615},{},{"type":616,"children":617},"root",[618],{"type":619,"tag":20,"props":620,"children":621},"element",{},[622,625,630,632,638,640,645],{"type":623,"value":624},"text","Убедитесь, что файл юнита находится в ",{"type":619,"tag":24,"props":626,"children":628},{"className":627},[],[629],{"type":623,"value":489},{"type":623,"value":631},", имеет расширение ",{"type":619,"tag":24,"props":633,"children":635},{"className":634},[],[636],{"type":623,"value":637},".service",{"type":623,"value":639}," и вы выполнили ",{"type":619,"tag":24,"props":641,"children":643},{"className":642},[],[644],{"type":623,"value":493},{"type":623,"value":646}," после любых изменений.",{"data":648,"body":649},{},{"type":616,"children":650},[651],{"type":619,"tag":20,"props":652,"children":653},{},[654,659,661,667,669,675,677,683],{"type":619,"tag":24,"props":655,"children":657},{"className":656},[],[658],{"type":623,"value":510},{"type":623,"value":660}," останавливает процесс сейчас, ",{"type":619,"tag":24,"props":662,"children":664},{"className":663},[],[665],{"type":623,"value":666},"disable",{"type":623,"value":668}," убирает автозапуск при загрузке, а ",{"type":619,"tag":24,"props":670,"children":672},{"className":671},[],[673],{"type":623,"value":674},"mask",{"type":623,"value":676}," полностью блокирует любой запуск службы, заменяя её символической ссылкой на ",{"type":619,"tag":24,"props":678,"children":680},{"className":679},[],[681],{"type":623,"value":682},"/dev/null",{"type":623,"value":240},{"data":685,"body":686},{},{"type":616,"children":687},[688],{"type":619,"tag":20,"props":689,"children":690},{},[691,693,699],{"type":623,"value":692},"Используйте ",{"type":619,"tag":24,"props":694,"children":696},{"className":695},[],[697],{"type":623,"value":698},"systemd-analyze verify /etc/systemd/system/ваш_сервис.service",{"type":623,"value":700}," для поиска синтаксических ошибок и битых путей до применения изменений.",{"data":702,"body":703},{},{"type":616,"children":704},[705],{"type":619,"tag":20,"props":706,"children":707},{},[708,710,716,718,724],{"type":623,"value":709},"Запустите ",{"type":619,"tag":24,"props":711,"children":713},{"className":712},[],[714],{"type":623,"value":715},"sudo systemctl status имя_службы",{"type":623,"value":717}," для проверки текущего состояния или ",{"type":619,"tag":24,"props":719,"children":721},{"className":720},[],[722],{"type":623,"value":723},"systemctl list-units --type=service",{"type":623,"value":725}," для вывода всех активных процессов.",{"data":727,"body":728},{},{"type":616,"children":729},[730],{"type":619,"tag":20,"props":731,"children":732},{},[733,735,741],{"type":623,"value":734},"Управляйте процессами в реальном времени командами ",{"type":619,"tag":24,"props":736,"children":738},{"className":737},[],[739],{"type":623,"value":740},"sudo systemctl start/stop/restart имя_службы",{"type":623,"value":240},{"data":743,"body":744},{},{"type":616,"children":745},[746],{"type":619,"tag":20,"props":747,"children":748},{},[749,751,757,759,764],{"type":623,"value":750},"Разрешите автоматический запуск через ",{"type":619,"tag":24,"props":752,"children":754},{"className":753},[],[755],{"type":623,"value":756},"sudo systemctl enable имя_службы",{"type":623,"value":758}," или запретите его с помощью ",{"type":619,"tag":24,"props":760,"children":762},{"className":761},[],[763],{"type":623,"value":666},{"type":623,"value":240},{"data":766,"body":767},{},{"type":616,"children":768},[769],{"type":619,"tag":20,"props":770,"children":771},{},[772,774,779,781,786,788,794],{"type":623,"value":773},"Создайте файл ",{"type":619,"tag":24,"props":775,"children":777},{"className":776},[],[778],{"type":623,"value":637},{"type":623,"value":780}," в ",{"type":619,"tag":24,"props":782,"children":784},{"className":783},[],[785],{"type":623,"value":489},{"type":623,"value":787},", опишите параметры запуска и обновите конфигурацию командой ",{"type":619,"tag":24,"props":789,"children":791},{"className":790},[],[792],{"type":623,"value":793},"daemon-reload",{"type":623,"value":240},[]]