주 메뉴 열기

wwiki β

바뀜

Service

878 바이트 추가됨, 2021년 8월 14일 (토) 08:25
편집 요약 없음
/lib/systemd/system : .service, .socket파일을 모아 둔 곳 socket파일 경로 (enable시키면 링크파일 생성-> /etc/systemd/system/multi-user.target.wants/dht_webxxxx.service: enable시키면 링크파일 생성)
/usr/lib/systemd/user: user영역 .service파일(데비안 계열에서만 존재, enable 하면 ~/.config/systemd/user/multi-user.target.wants/에 링크생성), root로 실행권한은 없는 듯하다.
==서비스 파일==
=== [Unit] === ====Requires====
상위 의존성을 구성한다. 목록의 유닛이 정상적일 경우 유닛이 시작된다. (필요 조건), network-online.target docker.service
====Wants====
"Requires=" 보다 다소 완화된 옵션이다. 상위 의존성의 유닛이 시작되지 않더라도 전체 수행과정에 영향을 끼치지 않는다. 이 옵션은 하나의 유닛을 다른 유닛과 연계할 경우 사용하게 된다. (충분 조건)
==== Before, After =, ===유닛 시작의 전후 관계를 설정한다. 해당 설정은 "Requires=" 설정과는 독립적이다. "Before=" 에 나열된 유닛이 시작되기 전에 실행하고 "After=" 은 해당 유닛이 시작된 이후 나열된 유닛이 실행한다. 이 설정은 시스템이 종료(shutdown) 될때는 역으로 작동하게 된다.
유닛 시작의 전후 관계를 설정한다. 해당 설정은 "Requires=" 설정과는 독립적이다. "Before=" 에 나열된 유닛이 시작되기 전에 실행하고 "After=" 은 해당 유닛이 시작된 이후 나열된 유닛이 실행한다. 이 설정은 시스템이 종료(shutdown) 될때는 역으로 작동하게 된다.[Service] ===
====RestartSec====
재시작 명령을 수행할때 중지 이후 다시 시작하는데 대기(sleep)하는 시간을 설정한다. 기본값은 "100ms" 이다. 각각 “min”, “s”, “ms” 단위로 설정한다. 해당 설정은 Restart= 옵션이 있는 경우에만 적용된다.
====Restart====
[no|on-success|on-failure|on-watchdog|on-abort|always]
"always" 종료 상태 등과 무관하게 무조건 재시작한다. (사용자가 중지해도 시스템이 다시 띄우게 된다. 설정된 유닛 중지 시 주의가 필요하다.)
====WorkingDirectory====
프로세스의 작업 디렉토리를 지정한다. 별도의 지정이 없으면 유닛은 "/" 디렉토리를 작업 디렉토리로 사용한다. 특정 디렉토리에서 실행해야하는 프로세스에서 필요하다.
==== SyslogFacility= ===
로그 사설을 설정할 수 있다. "kern, user, mail, daemon, auth, syslog, lpr, news, uucp, cron, authpriv, ftp, local0, local1, local2, local3, local4, local5, local6, local7" 등의 값으로 설정 가능하다.
 
==== SyslogIdentifier ====
 
==== User ====
서비스를 실행할 사용자를 지정한다.
 
www-data
 
==== CPUQuota ====
CPU할당량을 %로 제한한다.
 
==== LimitCORE ====
기본값은 infinity로 숫자형식의 값을 변경해서 코어수를 제한한다. systemctl status 명령으로 CGroup의 프로세스 아이디가 설정한 코어수+1임을 확인할 수 있다.
 
=== [Install] ===
systemctl enable [service name] 명령 실행할 때 참조한다.
 
==== WantedBy ====
이 서비스가 어떤 전제 조건 하에서 실행되는 지를 결정하는 프로퍼티이다.
 
* network.target : network가 active 되었을 때, 여러 네트워크가 있을 때 하나만 활성화되어서 실행된다.
* multi-user.target : runlevel3 환경이 셋업될 때
* network-online.target : network가 online
 
[[분류:리눅스]]
편집
2,431