리눅스:daemon(자동실행)
리눅스를 위한 문서틀 틀:리눅스
- 리눅스:명령어
- 리눅스:권한관련
- 리눅스:편의기능
- 리눅스 기반 OS
- 리눅스:패키지 관리
- 다양한 패키지
- 리눅스:쉘 스크립트
개요[편집 | 원본 편집]
컴퓨터가 켜지면 자동 실행. 데몬 혹은 부팅 시 자동실행...이라고 부르면 될까?
방법[편집 | 원본 편집]
기초사용법[편집 | 원본 편집]
과정 | 설명 | 방법 |
---|---|---|
파일수정 | /etc/rc.local 파일에 작성한 명령이 시작 시에 실행된다. | fi
실행할 구문을 넣는다. &을 붙여 백그라운드로.
exit 0
|
권한수정 | 실행하게 되는 파일의 실행권한을 준다.
필요에 따라 주면 된다. |
chmod 777 파일명 |
파이썬 파일 실행하기[편집 | 원본 편집]
과정 | 설명 | 방법 |
---|---|---|
환경 지정 | 해당 파일을 파이썬을 이용하여 실행하라는 의미.
.py 파일 가장 위에 우측의 코드를 기입해준다. |
#! /usr/bin/env python # 버전을 지정한다면 python3.4 형식으로.
|
데몬에 등록 | /etc/rc.local 파일에 우측과 같이 기입한다. | python /파일경로.py & |
우분투[편집 | 원본 편집]
과정 | 설명 | 방법 |
---|---|---|
실행할 명령의 sh 파일 만들기. |
|
#!/bin/bash
# 도커 컨테이너 시작.
/usr/bin/docker start -d smwiki2405
docker exec smwiki2405 systemctl start apache2
# pywiki 실행설정.
docker exec samwiki systemctl start apache2
docker exec samwiki systemctl start elasticsearch.service
docker exec samwiki systemctl start mysql
# sc_project 실행설정.
docker exec sc_project /project/maintain/start.sh
|
service 파일 제작. | /etc/systemd/system/ 하위에 .service 파일을 만든다.
옵션은 굉장히 다양하게 있으니 다른 문서 참고. |
[Unit]
Description=Docker Containers
Requires=docker.service # 도커 서비스가 시작된 이후에 진행.
After=docker.service
[Service]
Restart=always
ExecStart=/bin/bash -c '/projects/for_format/for_systemd.sh'
ExecStop=/usr/bin/docker stop -t 2 smwiki2405
[Install]
WantedBy=multi-user.target
|
데몬 반영. |
start로 확인까지 해보자. 이후 재부팅 하면 실행될 것이다. |