{"id":192,"date":"2026-05-13T10:15:17","date_gmt":"2026-05-13T02:15:17","guid":{"rendered":"https:\/\/junai.ai\/blog\/linux-systemd-service-19\/"},"modified":"2026-05-13T10:15:17","modified_gmt":"2026-05-13T02:15:17","slug":"linux-systemd-service-19","status":"publish","type":"post","link":"https:\/\/junai.ai\/blog\/linux-systemd-service-19\/","title":{"rendered":"systemd \uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30 \u2014 \ubd80\ud305 \uc790\ub3d9 \uc2dc\uc791\u00b7\uc7ac\uc2dc\uc791 (19\ud3b8)"},"content":{"rendered":"\n<!-- WordPress REST API \ubc1c\ud589\uc6a9 HTML (\uc790\ub3d9 \uc0dd\uc131) -->\n<!-- WP-FEATURED-MEDIA-ID: 178 -->\n<div style=\"max-width:800px;margin:0 auto;\">\n<style>\n:root{\n  --color-primary:#1e40af;--color-accent:#3b82f6;--color-bg:#fafafa;--color-bg-card:#ffffff;\n  --color-text:#1e293b;--color-text-muted:#64748b;--hero-start:#0f172a;--hero-end:#1e40af;\n  --font-body:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;\n  --size-body:17px;--line-height:1.75;--h1-size:30px;--h2-size:26px;--h3-size:20px;\n}\n*{margin:0;padding:0;box-sizing:border-box;}\n.wrap{max-width:760px;margin:0 auto;padding:0 20px;}\n.hero{background:linear-gradient(135deg,var(--hero-start) 0%,var(--hero-end) 100%);color:#fff;padding:64px 0 56px;text-align:center;}\n.hero .eyebrow{display:inline-block;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#93c5fd;font-weight:700;margin-bottom:16px;}\n.hero h1{font-size:var(--h1-size);line-height:1.32;letter-spacing:-0.3px;font-weight:800;margin-bottom:18px;}\n.hero p.sub{font-size:18px;color:#cbd5e1;max-width:620px;margin:0 auto;}\n.hero .meta{margin-top:22px;font-size:14px;color:#94a3b8;}\n.hero-img{display:block;width:100%;height:auto;}\narticle{padding:48px 0 24px;}\narticle h2{font-size:var(--h2-size);line-height:1.35;letter-spacing:-0.3px;font-weight:800;margin:48px 0 18px;padding-left:14px;border-left:5px solid var(--color-primary);}\narticle h2:first-of-type{margin-top:8px;}\narticle h3{font-size:var(--h3-size);font-weight:700;margin:28px 0 10px;color:#0f172a;}\narticle p{margin:0 0 18px;}\narticle ul,article ol{margin:0 0 18px 4px;padding-left:22px;}\narticle li{margin-bottom:9px;}\narticle strong{color:#0f172a;font-weight:700;}\narticle a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;}\narticle code{background:#0f172a;color:#e2e8f0;padding:2px 7px;border-radius:5px;font-size:0.9em;font-family:'SF Mono',Menlo,Consolas,monospace;}\n.intro p:first-child{font-size:19px;color:#334155;}\n.notice{background:#eef2ff;border:1px solid #c7d2fe;border-radius:10px;padding:14px 18px;margin:0 0 30px;font-size:15px;color:#3730a3;}\n.notice b{color:#312e81;}\n.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0;}\ntable{width:100%;border-collapse:collapse;font-size:15px;background:var(--color-bg-card);}\nth,td{padding:11px 12px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top;}\nth{background:#f1f5f9;font-weight:700;color:#0f172a;}\ntd:first-child,th:first-child{font-weight:700;}\n@media (max-width:560px){\n  .tablewrap table,.tablewrap thead,.tablewrap tbody,.tablewrap tr,.tablewrap th,.tablewrap td{display:block;width:auto;}\n  .tablewrap thead{display:none;}\n  .tablewrap tr{margin:0 0 14px;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;}\n  .tablewrap td{border:none;border-bottom:1px solid #f1f5f9;padding:9px 14px;}\n  .tablewrap td:first-child{background:#f1f5f9;font-weight:800;font-size:15.5px;}\n  .tablewrap td:last-child{border-bottom:none;}\n  .tablewrap td[data-label]::before{content:attr(data-label) \" \u2014 \";font-weight:700;color:var(--color-primary);}\n}\n.databox{background:#eff6ff;border-left:4px solid var(--color-accent);border-radius:0 8px 8px 0;padding:16px 18px;margin:20px 0;font-size:15.5px;}\n.databox b{color:var(--color-primary);}\n.warnbox{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-radius:10px;padding:16px 18px;margin:22px 0;font-size:15.5px;color:#78350f;}\n.cmd{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:14px 16px;margin:14px 0;font-family:'SF Mono',Menlo,Consolas,monospace;font-size:14px;line-height:1.8;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:pre-wrap;}\n.cmd .c{color:#7dd3fc;}\n.cmd .o{color:#94a3b8;}\n.cmd .k{color:#fbbf24;}\n.roadmap{background:var(--color-bg-card);border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;margin:24px 0;font-size:15px;}\n.roadmap h3{margin:0 0 10px;font-size:17px;color:#0f172a;}\n.roadmap ol{margin:0 0 0 4px;padding-left:20px;}\n.roadmap li{margin-bottom:5px;color:#475569;}\n.cta{background:#0f172a;color:#e2e8f0;border-radius:14px;padding:26px 24px;margin:40px 0 8px;text-align:center;}\n.cta h3{color:#fff;margin:0 0 8px;font-size:19px;}\n.cta p{margin:0 0 4px;font-size:15px;color:#cbd5e1;}\nfooter{padding:30px 0 50px;text-align:center;color:var(--color-text-muted);font-size:13.5px;}\n@media (max-width:480px){:root{--h1-size:22px;--h2-size:20px;--size-body:16px;}.hero{padding:48px 0 40px;}article{padding:34px 0 16px;}.cmd{font-size:12.5px;}}\n<\/style>\n<header class=\"hero\">\n  <div class=\"wrap\">\n    <span class=\"eyebrow\">\uc6b0\ubd84\ud22c \u00b7 \ub9ac\ub205\uc2a4 \uc785\ubb38 \u2014 19\ud3b8 (\uc911\uae09)<\/span>\n    <h1>systemd \uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30 \u2014 systemctl\u00b7journalctl<\/h1>\n    <p class=\"sub\">&#8220;\uc774 \ud504\ub85c\uadf8\ub7a8\uc774 \ubd80\ud305\ud558\uba74 \uc790\ub3d9\uc73c\ub85c \ucf1c\uc9c0\uace0, \uc8fd\uc73c\uba74 \uc54c\uc544\uc11c \ub2e4\uc2dc \ucf1c\uc9c0\uba74 \uc88b\uaca0\ub2e4&#8221; \u2014 \uadf8\uac78 \ud574\uc8fc\ub294 \uac8c systemd \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. 14\ud3b8\uc758 \uc9dd.<\/p>\n    <p class=\"meta\">2026\ub144 5\uc6d4 13\uc77c \u00b7 \uc57d 8\ubd84 \u00b7 26\ud3b8 \uc785\ubb38 \uc2dc\ub9ac\uc988 19\ud3b8<\/p>\n  <\/div>\n<\/header>\n\n<img decoding=\"async\" class=\"hero-img\" src=\"https:\/\/junai.ai\/blog\/wp-content\/uploads\/2026\/05\/hero-22.jpg\" alt=\"\ud130\ubbf8\ub110\uc5d0 systemctl status\u00b7journalctl \uba85\ub839\uc73c\ub85c \uc11c\ube44\uc2a4\ub97c \uad00\ub9ac\ud558\ub294 \ud654\uba74 \u2014 systemd \uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30\ub97c \uc0c1\uc9d5\ud558\ub294 \uc77c\ub7ec\uc2a4\ud2b8\">\n\n<div class=\"wrap\">\n<article>\n\n  <div class=\"intro\">\n    <p>14\ud3b8(\ud504\ub85c\uc138\uc2a4 \uad00\ub9ac)\uc5d0\uc11c &#8220;PID 1 = <code>systemd<\/code>, \uc808\ub300 kill \ud558\uc9c0 \ub9d0 \uac83&#8221;\uc774\ub77c\uace0 \ud588\uc8e0. \uc774\ubc88 \ud3b8\uc774 \uadf8 <strong>systemd<\/strong> \uc774\uc57c\uae30\uc785\ub2c8\ub2e4 \u2014 \ub9ac\ub205\uc2a4\uac00 \ubd80\ud305\ud560 \ub54c \uac00\uc7a5 \uba3c\uc800 \ub728\ub294 \ud504\ub85c\uadf8\ub7a8\uc774\uc790, \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \ub3c4\ub294 \ubaa8\ub4e0 &#8220;\uc11c\ube44\uc2a4(\ub370\ubaac)&#8221;\ub97c \uad00\ub9ac\ud558\ub294 \ucd1d\uac10\ub3c5.<\/p>\n    <p>\uc65c \uc54c\uc544\uc57c \ud558\ub098 \u2014 \u2460 \uc774\ubbf8 \ub3c4\ub294 \uc11c\ube44\uc2a4\ub97c \ub2e4\ub8e8\ub824\uba74(\uc6f9\uc11c\ubc84 \uc7ac\uc2dc\uc791, SSH \uc7ac\uc2dc\uc791, \ub85c\uadf8 \ubcf4\uae30) <code>systemctl<\/code>\u00b7<code>journalctl<\/code>\uc744 \uc368\uc57c \ud558\uace0, \u2461 <strong>\ub0b4\uac00 \ub9cc\ub4e0 \ud504\ub85c\uadf8\ub7a8(\uc2a4\ud06c\ub9bd\ud2b8\u00b7\uc6f9\uc571)\uc744 &#8220;\ubd80\ud305 \uc2dc \uc790\ub3d9 \uc2dc\uc791 + \uc8fd\uc73c\uba74 \uc7ac\uc2dc\uc791&#8221;\uc73c\ub85c \ub4f1\ub85d<\/strong>\ud558\ub824\uba74 <code>.service<\/code> \ud30c\uc77c\uc744 \ub9cc\ub4e4\uc5b4\uc57c \ud569\ub2c8\ub2e4. 14\ud3b8\uc5d0\uc11c <code>nohup<\/code>\u00b7<code>&amp;<\/code>\ub85c \ubc31\uadf8\ub77c\uc6b4\ub4dc \uc2e4\ud589\uc744 \ubd24\uc9c0\ub9cc, \uadf8\uac74 &#8220;\uc774\ubc88 \uc138\uc158 \ub3d9\uc548\ub9cc&#8221;. \uc9c4\uc9dc &#8220;\uc11c\ubc84\ucc98\ub7fc \ud56d\uc0c1 \ub5a0 \uc788\uac8c&#8221; \ud558\ub824\uba74 systemd \uc11c\ube44\uc2a4\uac00 \uc815\ub2f5\uc774\uc5d0\uc694. <strong>26\ud3b8 \uc785\ubb38 \uc2dc\ub9ac\uc988 19\ud3b8<\/strong>, &#8220;\uc911\uae09&#8221; \ubb36\uc74c.<\/p>\n  <\/div>\n\n  <div class=\"notice\">\n    <b>\uc900\ube44\ubb3c \u2014<\/b> \uc6b0\ubd84\ud22c + \ud130\ubbf8\ub110 + <code>sudo<\/code>. <code>\/etc\/systemd\/system<\/code>\uc5d0 \ud30c\uc77c\uc744 \ub9cc\ub4e4\uace0 \uc11c\ube44\uc2a4\ub97c \ucf1c\ub294 \uc2e4\uc2b5\uc774 \uc788\uc73c\ub2c8 <b>\uac00\uc0c1 \uba38\uc2e0 \uad8c\uc7a5<\/b>(\uc11c\ube44\uc2a4 \uc124\uc815\uc744 \uc798\ubabb\ud574\ub3c4 VM\uc774\uba74 \ubd80\ub2f4 \uc5c6\uc74c). 8\ud3b8(nano)\u00b712\ud3b8(<code>tail -f<\/code> \ub85c\uadf8)\u00b714\ud3b8(\ud504\ub85c\uc138\uc2a4)\uc744 \ubd24\ub2e4\uba74 \uc790\uc5f0\uc2a4\ub7fd\uac8c \uc774\uc5b4\uc9d1\ub2c8\ub2e4.\n  <\/div>\n\n  <h2>systemd\uac00 \ubb54\uac00 \u2014 init\uacfc \uc11c\ube44\uc2a4<\/h2>\n  <p>\ub9ac\ub205\uc2a4\uac00 \ucf1c\uc9c0\uba74 \ucee4\ub110\uc774 \ub728\uace0, \ucee4\ub110\uc774 \uac00\uc7a5 \uba3c\uc800 \uc2e4\ud589\ud558\ub294 \uc0ac\uc6a9\uc790 \ud504\ub85c\uadf8\ub7a8\uc774 <code>systemd<\/code>(PID 1)\uc785\ub2c8\ub2e4. \uc598\uac00 \ud558\ub294 \uc77c \u2014 \ub098\uba38\uc9c0 \ubaa8\ub4e0 \uac78 \uc815\ud574\uc9c4 \uc21c\uc11c\ub85c \uc2dc\uc791\ud558\uace0, \ubc31\uadf8\ub77c\uc6b4\ub4dc \uc11c\ube44\uc2a4\ub4e4\uc744 \uad00\ub9ac\ud558\uace0, \uc8fd\uc740 \uc11c\ube44\uc2a4\ub97c \ub2e4\uc2dc \uc0b4\ub9ac\uace0, \ub85c\uadf8\ub97c \ubaa8\uc74d\ub2c8\ub2e4. &#8220;init \uc2dc\uc2a4\ud15c&#8221;\uc774\ub77c\uace0 \ubd80\ub974\ub294 \uadf8 \uc5ed\ud560\uc774\uc5d0\uc694(\uc61b\ub0a0\uc5d4 SysV init\u00b7Upstart\uc600\ub294\ub370 \uc774\uc81c \ub300\ubd80\ubd84 systemd).<\/p>\n  <ul>\n    <li><strong>\uc11c\ube44\uc2a4(unit \/ \ub370\ubaac)<\/strong> = \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \uacc4\uc18d \ub3c4\ub294 \ud504\ub85c\uadf8\ub7a8. \uc608: <code>ssh.service<\/code>(\uc6d0\uaca9 \uc811\uc18d \ubc1b\uae30), <code>nginx.service<\/code>(\uc6f9), <code>cron.service<\/code>(\uc608\uc57d \uc791\uc5c5, 20\ud3b8). <code>.service<\/code> \ud30c\uc77c\uc774 &#8220;\uc774\uac78 \uc5b4\ub5bb\uac8c \uc2e4\ud589\/\uc7ac\uc2dc\uc791\/\uc2dc\uc791\uc21c\uc11c\ub97c \uc815\ud558\ub098&#8221;\ub97c \uc801\uc5b4\ub454 \uc124\uc815.<\/li>\n    <li><strong>\ub450 \uac00\uc9c0 \uc0c1\ud0dc<\/strong>\ub97c \uad6c\ubd84\ud558\uc138\uc694 \u2014 <strong>active<\/strong>(running): \uc9c0\uae08 \ub3cc\uace0 \uc788\ub098. <strong>enabled<\/strong>: \ubd80\ud305 \uc2dc \uc790\ub3d9\uc73c\ub85c \uc2dc\uc791\ub418\ub098. \ub458\uc740 \ubcc4\uac1c \u2014 &#8220;\uc9c0\uae08\uc740 \uc548 \ub3cc\uc9c0\ub9cc \ub2e4\uc74c \ubd80\ud305 \ub550 \ucf1c\uc9d0&#8221;\ub3c4 \uac00\ub2a5.<\/li>\n    <li><strong>\uad00\ub9ac \ub3c4\uad6c<\/strong> \u2014 <code>systemctl<\/code>(\uc11c\ube44\uc2a4\ub97c \uc2dc\uc791\/\uba48\ucda4\/\ucf1c\uae30\/\uc0c1\ud0dc), <code>journalctl<\/code>(\uc11c\ube44\uc2a4\uac00 \ub0a8\uae34 \ub85c\uadf8\ub97c \ubcf4\uae30). \uc774 \ub458\uc774 9\ud560\uc785\ub2c8\ub2e4.<\/li>\n  <\/ul>\n\n  <h2>\uae30\uc874 \uc11c\ube44\uc2a4 \ub2e4\ub8e8\uae30 \u2014 systemctl<\/h2>\n  <div class=\"cmd\"><span class=\"c\">$<\/span> systemctl status ssh\n<span class=\"o\">\u25cf ssh.service &#8211; OpenSSH server &#8230;<\/span>\n<span class=\"o\">   Active: active (running) since &#8230;      \u2190 \uc9c0\uae08 \ub3cc\uace0 \uc788\ub098 + \ucd5c\uadfc \ub85c\uadf8 \uba87 \uc904. \uac00\uc7a5 \uc790\uc8fc \uc4f0\ub294 \uba85\ub839<\/span>\n<span class=\"c\">$<\/span> sudo systemctl restart ssh\n<span class=\"o\">                          \u2190 \uc7ac\uc2dc\uc791 (\uc124\uc815 \ubc14\uafbc \ub4a4 \uc790\uc8fc). start(\uc2dc\uc791)\u00b7stop(\uba48\ucda4)\u00b7reload(\uc124\uc815\ub9cc \ub2e4\uc2dc \uc77d\uae30)\ub3c4 \uc788\uc74c<\/span>\n<span class=\"c\">$<\/span> sudo systemctl enable ssh\n<span class=\"o\">                          \u2190 &#8216;\ubd80\ud305 \uc2dc \uc790\ub3d9 \uc2dc\uc791&#8217; \ucf1c\uae30. disable \ub85c \ub044\uae30. enable &#8211;now \ud558\uba74 \ucf1c\uae30+\uc9c0\uae08 \uc2dc\uc791 \ub3d9\uc2dc<\/span>\n<span class=\"c\">$<\/span> systemctl is-active ssh ; systemctl is-enabled ssh\n<span class=\"o\">active \/ enabled           \u2190 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c \uc0c1\ud0dc\ub9cc \uac04\ub2e8\ud788 \ud655\uc778\ud560 \ub54c<\/span>\n<span class=\"c\">$<\/span> systemctl list-units &#8211;type=service &#8211;state=running\n<span class=\"o\">                          \u2190 \uc9c0\uae08 \ub3cc\uace0 \uc788\ub294 \uc11c\ube44\uc2a4 \ubaa9\ub85d (&#8211;all \uc774\uba74 \uba48\ucd98 \uac83\uae4c\uc9c0)<\/span>\n<span class=\"c\">$<\/span> systemctl &#8211;failed\n<span class=\"o\">                          \u2190 \uc2dc\uc791 \uc2e4\ud328\ud55c \uc11c\ube44\uc2a4\ub9cc. \ubd80\ud305 \ud6c4 \ubb54\uac00 \uc774\uc0c1\ud558\uba74 \uc5ec\uae30\ubd80\ud130 \ubd04<\/span><\/div>\n  <div class=\"databox\"><b>\uac00\uc7a5 \ub9ce\uc774 \uc4f0\ub294 \uc14b:<\/b> <code>systemctl status \uc11c\ube44\uc2a4<\/code>(\ub3cc\uace0 \uc788\ub098?\u00b7\uc65c \uc8fd\uc5c8\ub098?), <code>sudo systemctl restart \uc11c\ube44\uc2a4<\/code>(\uc124\uc815 \ubc14\uafb8\uace0 \uc801\uc6a9), <code>sudo systemctl enable --now \uc11c\ube44\uc2a4<\/code>(\ubd80\ud305 \uc790\ub3d9\uc2dc\uc791 + \uc9c0\uae08 \ucf1c\uae30). \uc6f9\uc11c\ubc84\u00b7DB\u00b7SSH \ub4f1\uc744 \uc6b4\uc601\ud558\uba74 \uc774 \uc14b\uc744 \ud558\ub8e8\uc5d0\ub3c4 \uba87 \ubc88 \uce69\ub2c8\ub2e4. <code>sudo systemctl reboot<\/code>\u00b7<code>poweroff<\/code>\u00b7<code>suspend<\/code>\ub85c \uc2dc\uc2a4\ud15c \uc790\uccb4\ub3c4 \uc81c\uc5b4\ud574\uc694(\uc804\uc6d0 \uba54\ub274\uc758 \uba85\ub839\uc5b4 \ubc84\uc804).<\/div>\n\n  <h2>\ub85c\uadf8 \ubcf4\uae30 \u2014 journalctl<\/h2>\n  <p>systemd\uac00 \ubaa8\ub4e0 \uc11c\ube44\uc2a4\uc758 \ub85c\uadf8(stdout\u00b7stderr \u2014 12\ud3b8\uc758 \uadf8 \ucd9c\uad6c\ub4e4)\ub97c \ud55c \uad70\ub370 \ubaa8\uc74d\ub2c8\ub2e4. \uadf8\uac8c &#8220;\uc800\ub110&#8221;. \ubcf4\ub294 \ubc95:<\/p>\n  <div class=\"cmd\"><span class=\"c\">$<\/span> journalctl -u ssh\n<span class=\"o\">                          \u2190 ssh.service \uc758 \ub85c\uadf8\ub9cc. -u = unit(\uc11c\ube44\uc2a4) \uc9c0\uc815. \ud575\uc2ec \uba85\ub839<\/span>\n<span class=\"c\">$<\/span> journalctl -u ssh -f\n<span class=\"o\">                          \u2190 \uc2e4\uc2dc\uac04 \ub530\ub77c\ubcf4\uae30 (12\ud3b8 tail -f \uc758 systemd \ubc84\uc804). \uc11c\ube44\uc2a4 \ub3d9\uc791 \ub514\ubc84\uae45\uc5d0 \ucd5c\uace0. Ctrl+C \ub85c \ub098\uac10<\/span>\n<span class=\"c\">$<\/span> journalctl -u ssh &#8211;since &#8220;1 hour ago&#8221;\n<span class=\"o\">                          \u2190 \ucd5c\uadfc 1\uc2dc\uac04\ub9cc. &#8211;since &#8220;today&#8221; \/ &#8220;2026-05-13 09:00&#8221; \ub4f1 \uc2dc\uac04 \uc9c0\uc815<\/span>\n<span class=\"c\">$<\/span> journalctl -u ssh -p err -b\n<span class=\"o\">                          \u2190 -p err: \uc5d0\ub7ec \uc774\uc0c1\ub9cc. -b: \uc774\ubc88 \ubd80\ud305 \uc774\ud6c4\ub9cc. &#8220;\uc65c \uc2dc\uc791 \uc2e4\ud328\ud588\uc9c0&#8221; \ucd94\uc801\ud560 \ub54c<\/span>\n<span class=\"c\">$<\/span> journalctl -xe\n<span class=\"o\">                          \u2190 \uac00\uc7a5 \ucd5c\uadfc \ub85c\uadf8 + \uc124\uba85(-x). systemctl status \uac00 &#8220;\uc2e4\ud328\ud588\ub2e4&#8221;\uace0\ub9cc \ud558\uba74 \uc5ec\uae30\uc11c \uc790\uc138\ud788<\/span>\n<span class=\"c\">$<\/span> journalctl &#8211;disk-usage  ;  sudo journalctl &#8211;vacuum-time=7d\n<span class=\"o\">                          \u2190 \uc800\ub110\uc774 \ucc28\uc9c0\ud558\ub294 \uc6a9\ub7c9 \ud655\uc778 \/ 7\uc77c\uce58\ub9cc \ub0a8\uae30\uace0 \ube44\uc6b0\uae30 (15\ud3b8 \ub514\uc2a4\ud06c \uc815\ub9ac\uc5d0\uc11c \ub098\uc628 \uadf8\uac83)<\/span><\/div>\n  <p>\ud750\ub984: \uc11c\ube44\uc2a4\uac00 \uc774\uc0c1\ud558\ub2e4 \u2192 <code>systemctl status \uc11c\ube44\uc2a4<\/code>(\uc0c1\ud0dc\uc640 \ucd5c\uadfc \ub85c\uadf8 \uba87 \uc904) \u2192 \ub354 \ubcf4\ub824\uba74 <code>journalctl -u \uc11c\ube44\uc2a4 -e<\/code>(\ub05d\ubd80\ud130) \ub610\ub294 <code>-xe<\/code> \u2192 \ub3d9\uc791\uc744 \uc9c0\ucf1c\ubcf4\ub824\uba74 <code>journalctl -u \uc11c\ube44\uc2a4 -f<\/code> \ucf1c\ub450\uace0 \uadf8 \uc11c\ube44\uc2a4\ub97c <code>restart<\/code>\ud574\ubcf4\uae30. \uc774 \ud328\ud134\uc774\uba74 &#8220;\uc65c \uc548 \ub418\ub294\uc9c0&#8221;\uac00 \uac70\uc758 \ub2e4 \ubcf4\uc785\ub2c8\ub2e4.<\/p>\n\n  <h2>\ub0b4 \uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30 \u2014 .service \ud30c\uc77c<\/h2>\n  <p>\uc774\uc81c \ud575\uc2ec \u2014 \ub0b4\uac00 \ub9cc\ub4e0 \uc2a4\ud06c\ub9bd\ud2b8\ub098 \uc571\uc744 &#8220;\ubd80\ud305 \uc2dc \uc790\ub3d9 \uc2dc\uc791 + \uc8fd\uc73c\uba74 \uc7ac\uc2dc\uc791&#8221; \uc11c\ube44\uc2a4\ub85c \ub4f1\ub85d\ud558\uae30. \uc608\ub85c, \uac04\ub2e8\ud55c \uc2a4\ud06c\ub9bd\ud2b8 \ud558\ub098\ub97c \uc11c\ube44\uc2a4\ub85c:<\/p>\n  <div class=\"cmd\"><span class=\"c\">$<\/span> sudo nano \/etc\/systemd\/system\/myapp.service\n<span class=\"k\">[Unit]<\/span>\n<span class=\"o\">Description<\/span>=My app                      <span class=\"o\"># \uc0ac\ub78c\uc774 \uc54c\uc544\ubcfc \uc124\uba85<\/span>\n<span class=\"o\">After<\/span>=network-online.target            <span class=\"o\"># \ub124\ud2b8\uc6cc\ud06c\uac00 \uc900\ube44\ub41c \ub4a4 \uc2dc\uc791<\/span>\n<span class=\"o\">Wants<\/span>=network-online.target\n\n<span class=\"k\">[Service]<\/span>\n<span class=\"o\">ExecStart<\/span>=\/home\/jspark\/myapp\/run.sh   <span class=\"o\"># \uc2e4\ud589\ud560 \uba85\ub839 (\uc808\ub300 \uacbd\ub85c! \uc2a4\ud06c\ub9bd\ud2b8\ub294 chmod +x \u2014 9\ud3b8)<\/span>\n<span class=\"o\">WorkingDirectory<\/span>=\/home\/jspark\/myapp   <span class=\"o\"># \uadf8 \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c \uc2e4\ud589<\/span>\n<span class=\"o\">User<\/span>=jspark                            <span class=\"o\"># \ub204\uad6c \uad8c\ud55c\uc73c\ub85c (root \ub9d0\uace0 \uc77c\ubc18 \uc0ac\uc6a9\uc790 \uad8c\uc7a5)<\/span>\n<span class=\"o\">Restart<\/span>=on-failure                     <span class=\"o\"># \uc8fd\uc73c\uba74 \ub2e4\uc2dc \uc2dc\uc791 (always=\ubb34\uc870\uac74, on-failure=\ube44\uc815\uc0c1 \uc885\ub8cc \uc2dc)<\/span>\n<span class=\"o\">RestartSec<\/span>=5                           <span class=\"o\"># 5\ucd08 \ud6c4 \uc7ac\uc2dc\uc791<\/span>\n\n<span class=\"k\">[Install]<\/span>\n<span class=\"o\">WantedBy<\/span>=multi-user.target             <span class=\"o\"># &#8216;enable&#8217; \ud558\uba74 \uc77c\ubc18 \ubd80\ud305 \ub2e8\uacc4\uc5d0 \ud3ec\ud568<\/span>\n<span class=\"o\">                          # \uc800\uc7a5 \ud6c4 \u2193<\/span>\n<span class=\"c\">$<\/span> sudo systemctl daemon-reload          <span class=\"o\"># \uc0c8\/\ubc14\ub010 .service \ud30c\uc77c\uc744 systemd \uac00 \ub2e4\uc2dc \uc77d\uac8c (\uc218\uc815\ud560 \ub54c\ub9c8\ub2e4 \ud544\uc218)<\/span>\n<span class=\"c\">$<\/span> sudo systemctl enable &#8211;now myapp     <span class=\"o\"># \ubd80\ud305 \uc790\ub3d9\uc2dc\uc791 \ucf1c\uae30 + \uc9c0\uae08 \uc2dc\uc791<\/span>\n<span class=\"c\">$<\/span> systemctl status myapp                 <span class=\"o\"># \uc798 \ub5b4\ub098 \ud655\uc778<\/span>\n<span class=\"c\">$<\/span> journalctl -u myapp -f                 <span class=\"o\"># \ub85c\uadf8 \uc9c0\ucf1c\ubcf4\uae30<\/span><\/div>\n  <div class=\"warnbox\"><strong>\u26a0\ufe0f \uba87 \uac00\uc9c0 \ud568\uc815:<\/strong> \u2460 <code>ExecStart<\/code>\ub294 <strong>\uc808\ub300 \uacbd\ub85c<\/strong>\ub85c(<code>~<\/code>\u00b7\uc0c1\ub300\uacbd\ub85c \uc548 \ub428), \uc2a4\ud06c\ub9bd\ud2b8\uba74 \uc2e4\ud589 \uad8c\ud55c(<code>chmod +x<\/code>, 9\ud3b8) \ud544\uc694. \u2461 <code>.service<\/code> \ud30c\uc77c\uc744 \uace0\uce5c \ub4a4\uc5d4 <strong>\ud56d\uc0c1 <code>sudo systemctl daemon-reload<\/code><\/strong> \u2014 \uc548 \ud558\uba74 \uc61b \uc124\uc815\uc774 \uadf8\ub300\ub85c. \u2462 <code>User=<\/code>\ub97c \ube7c\uba74 root\ub85c \ub3cc\uc544\uac11\ub2c8\ub2e4 \u2014 \uac00\ub2a5\ud558\uba74 \uc77c\ubc18 \uc0ac\uc6a9\uc790\ub85c(\ubcf4\uc548). \u2463 \uc2dc\uc2a4\ud15c\uc5d0 \uc6d0\ub798 \uc788\ub358 \uc11c\ube44\uc2a4 \ud30c\uc77c(<code>\/lib\/systemd\/system\/...<\/code>)\uc740 \uc9c1\uc811 \uace0\uce58\uc9c0 \ub9d0\uace0 <code>sudo systemctl edit \uc11c\ube44\uc2a4<\/code>\ub85c \ub36e\uc5b4\uc4f0\uae30(override)\ub9cc \u2014 8\ud3b8\ucc98\ub7fc \uc6d0\ubcf8\uc740 \uac74\ub4dc\ub9ac\uc9c0 \uc54a\ub294 \uc6d0\uce59. \u2464 <code>Restart=always<\/code>\uc778\ub370 \uc989\uc2dc \uc8fd\ub294 \ud504\ub85c\uadf8\ub7a8\uc774\uba74 \ubb34\ud55c \uc7ac\uc2dc\uc791 \ub8e8\ud504\uac00 \ub429\ub2c8\ub2e4 \u2014 <code>RestartSec<\/code>\ub97c \ucda9\ubd84\ud788 \uc8fc\uace0 <code>journalctl -u<\/code>\ub85c \uc65c \uc8fd\ub294\uc9c0 \uba3c\uc800 \ubcf4\uc138\uc694.<\/div>\n  <div class=\"databox\"><b>\uc624\ub298\uc758 \uc815\ub9ac:<\/b> systemd = PID 1, init + \uc11c\ube44\uc2a4 \uad00\ub9ac\uc790. <strong>active<\/strong>(\uc9c0\uae08 \ub3c4\ub098) \u2260 <strong>enabled<\/strong>(\ubd80\ud305 \uc2dc \uc790\ub3d9). \ub2e4\ub8e8\uae30: <code>systemctl status\/restart\/enable --now \uc11c\ube44\uc2a4<\/code>\u00b7<code>list-units --type=service<\/code>\u00b7<code>--failed<\/code>. \ub85c\uadf8: <code>journalctl -u \uc11c\ube44\uc2a4<\/code>\u00b7<code>-f<\/code>(\uc2e4\uc2dc\uac04)\u00b7<code>--since<\/code>\u00b7<code>-p err -b<\/code>\u00b7<code>-xe<\/code>. \ub0b4 \uc11c\ube44\uc2a4: <code>\/etc\/systemd\/system\/\uc774\ub984.service<\/code>\uc5d0 <code>[Unit]\/[Service]\/[Install]<\/code> \uc791\uc131(<code>ExecStart<\/code> \uc808\ub300\uacbd\ub85c\u00b7<code>User=<\/code>\u00b7<code>Restart=on-failure<\/code>) \u2192 <code>sudo systemctl daemon-reload<\/code> \u2192 <code>enable --now<\/code>. \uc6d0\ubcf8 \uc11c\ube44\uc2a4 \ud30c\uc77c\uc740 <code>systemctl edit<\/code>\ub85c\ub9cc.<\/div>\n\n  <div class=\"roadmap\">\n    <h3>\uc2dc\ub9ac\uc988 \ud750\ub984<\/h3>\n    <ol>\n      <li>1~16\ud3b8 \uc785\ubb38\u00b7\uae30\ucd08\u00b7\uc911\uae09(vim\u00b7\ud504\ub85c\uc138\uc2a4\u00b7\ub514\uc2a4\ud06c\u00b7\ub124\ud2b8\uc6cc\ud06c) \u2714 &nbsp; 17\ud3b8 ufw \u2714 &nbsp; 18\ud3b8 SSH \ud0a4 \u2714<\/li>\n      <li><strong>19\ud3b8 \u2014 systemd \uc11c\ube44\uc2a4 (\uc774 \uae00) \u2714<\/strong><\/li>\n      <li>20\ud3b8 \u2014 cron (\uc815\ud574\uc9c4 \uc2dc\uac01\u00b7\uc8fc\uae30\ub85c \uba85\ub839 \uc790\ub3d9 \uc2e4\ud589 \u2014 <code>crontab -e<\/code>\u00b7<code>* * * * *<\/code>). &#8220;\uc911\uae09&#8221; \ubb36\uc74c \ub9c8\ubb34\ub9ac<\/li>\n      <li>21\ud3b8~ \u2014 \uc178 \uc2a4\ud06c\ub9bd\ud2b8 \uc791\uc131\ubc95 \/ \ubca0\uc2a4\ud2b8 \ud504\ub799\ud2f0\uc2a4 \/ sed\u00b7awk \/ \ub85c\uadf8 \ubd84\uc11d \/ \uc11c\ubc84 \ubcf4\uc548 \/ \ub3c4\ucee4 (\uace0\uae09)<\/li>\n    <\/ol>\n  <\/div>\n  <p>\uc624\ub298 \ud560 \uc77c: <code>systemctl status ssh<\/code>\ub85c SSH \uc11c\ube44\uc2a4 \uc0c1\ud0dc\ub97c \ubcf4\uace0, <code>journalctl -u ssh -e<\/code>\ub85c \uadf8 \ub85c\uadf8\ub97c \ub05d\ubd80\ud130 \ubcf4\uc138\uc694. (\uac00\uc0c1 \uba38\uc2e0\uc774\uba74) \uac04\ub2e8\ud55c \uc2a4\ud06c\ub9bd\ud2b8(<code>echo \"alive $(date)\" &gt;&gt; \/tmp\/myapp.log; sleep 10<\/code> \uac19\uc740 \uac78 \ubb34\ud55c \ub8e8\ud504\ub85c) \ud558\ub098 \ub9cc\ub4e4\uc5b4 <code>.service<\/code>\ub85c \ub4f1\ub85d\ud558\uace0 <code>enable --now<\/code> \u2192 <code>journalctl -u \uadf8\uc11c\ube44\uc2a4 -f<\/code>\ub85c \ub3c4\ub294 \uac78 \uc9c0\ucf1c\ubcf4\uae30. &#8220;\ubd80\ud305 \uc790\ub3d9\uc2dc\uc791 \uc11c\ube44\uc2a4\ub97c \ub9cc\ub4e0\ub2e4&#8221;\ub294 \uac10\uc774 \uc7a1\ud788\uba74 \ub429\ub2c8\ub2e4. 20\ud3b8\uc5d0\uc11c \ub9cc\ub098\uc694. (systemd \uc804\uccb4\ub294 <code>man systemd.service<\/code>\u00b7<code>man systemctl<\/code>, \ub610\ub294 <a href=\"https:\/\/ubuntu.com\/server\/docs\" target=\"_blank\" rel=\"noopener\">\uc6b0\ubd84\ud22c \uc11c\ubc84 \ubb38\uc11c<\/a>.)<\/p>\n\n  <div class=\"cta\">\n    <h3>\uc6b0\ubd84\ud22c\u00b7\ub9ac\ub205\uc2a4 \uc785\ubb38 \uc2dc\ub9ac\uc988<\/h3>\n    <p>\uc774\uc81c \ud504\ub85c\uadf8\ub7a8\uc744 &#8220;\ud56d\uc0c1 \ub5a0 \uc788\uac8c&#8221; \ub9cc\ub4ed\ub2c8\ub2e4. 20\ud3b8 &#8220;\ub9ac\ub205\uc2a4 cron \uc0ac\uc6a9\ubc95&#8221;\uc73c\ub85c &#8220;\uc911\uae09&#8221; \ubb36\uc74c\uc744 \ub9c8\ubb34\ub9ac\ud569\ub2c8\ub2e4.<\/p>\n    <p>\ub2e4\uc74c \ud3b8\uc740 <a href=\"https:\/\/junai.ai\/blog\/\" target=\"_blank\" rel=\"noopener\">JUNAI \ube14\ub85c\uadf8<\/a>\uc5d0\uc11c \uc774\uc5b4 \ubcf4\uc138\uc694.<\/p>\n  <\/div>\n\n<\/article>\n<\/div>\n\n<footer>\n  <div class=\"wrap\">\u00a9 2026 JUNAI \u00b7 \uc6b0\ubd84\ud22c\u00b7\ub9ac\ub205\uc2a4 \uc785\ubb38 \uc2dc\ub9ac\uc988 19\ud3b8 \u00b7 \ubcf8 \uae00\uc740 2026\ub144 5\uc6d4 13\uc77c \uae30\uc900\uc73c\ub85c \uc791\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/div>\n<\/footer>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>systemctl\ub85c \uc11c\ube44\uc2a4 \ub2e4\ub8e8\uae30, journalctl\ub85c \ub85c\uadf8 \ubcf4\uae30, .service \ud30c\uc77c\ub85c \ub0b4 \ud504\ub85c\uadf8\ub7a8\uc744 \ubd80\ud305 \uc790\ub3d9 \uc2dc\uc791\u00b7\uc7ac\uc2dc\uc791. \ub9ac\ub205\uc2a4 \uc785\ubb38 19\ud3b8.<\/p>\n","protected":false},"author":1,"featured_media":178,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[],"class_list":["post-192","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ubuntu-linux"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/posts\/192","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/comments?post=192"}],"version-history":[{"count":0,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/posts\/192\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/media\/178"}],"wp:attachment":[{"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/media?parent=192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/categories?post=192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/junai.ai\/blog\/wp-json\/wp\/v2\/tags?post=192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}