안녕하세요. 이번 시간엔 프로세스를 실행 / 관리 할 수 있는 데몬(Daemon)과 Cron에 대해서 알아보려 합니다.
우선 데몬이라 함은 항상 실행 중인 프로그램을 뜻합니다. 백그라운드에서 여러 가지 작업을 하고있는 산업역군이라 할 수 있겠죠.
마치 저희 집의 냉장고와 유사한 친구입니다. 냉장고의 경우엔 언제 사용할 지 모릅니다. 어머니께서 아침 일찍 사용할 수도 있고, 아버지께서 과일을 드시려고 저녁에 사용하실 수도 있으며, 제가 지금 글을 쓰는 2020년 3월 15일 오전 12시 51분에도 사용할 수 있습니다.
즉, 냉장고는 사시사철 켜져있어야 합니다. 이해가 되시나요?
다시 그러면 SW 측면으로 따져보도록 합시다. 항상 켜져있어야 할 것이 무엇일까요?
바로 서버가 될 수 있겠죠.
유튜브 서버가 한 번 다운이 됐던 적이 있는데, 그 때 많은 사람들이 엄청 불편을 겪었습니다. 유튜브를 달고 사는 저로선 인생의 재미를 잃게 되고, 과호흡까지 올 뻔 했습니다.
이처럼 서버란 존재는 항상 켜져있어야 하며, 이런 프로그램을 데몬이라고 명명할 수 있습니다.
실제로 리눅스에서 손쉽게 이를 관리하는 디렉토리로 접근이 가능합니다.
cd /etc/init.d/
여기로 들어가시면 데몬 프로그램이 위치한 디렉토리입니다. 그렇기에 여러분이 Apache라는 웹 서버를 설치를 한다면, 이 디렉토리에 위치되게 됩니다.
여기에 위치한 프로그램은 우리가 일반적으로 알고있는 방식으로는 켜고 끌 수가 없기 때문에 다른 명령어가 필요합니다.
sudo service [프로그램 이름] start # 시작
ps aux | grep [프로그램 이름] # 시작됐는지 확인하기
sudo service [프로그램 이름] stop # 끝내기
이렇게 데몬 프로그램을 켜고 끌 수가 있습니다. 간단하쥬?
그럼 이제 Cron에 대해서 알아봅시다.
Cron은 정기적으로 프로그램을 실행시켜 주는 소프트웨어입니다. 데이터를 정기적으로 백업한다던지, 전송하던지, 시간을 수정해야 한다던지, 이런 경우에 Cron을 사용하시면 됩니다.
아래의 명령어로 실행이 가능합니다.
crontab -e
만약 이를 처음 실행하셨다면, 아래와 같은 질문이 뜹니다. 어떤 에디터로 실행을 하겠냐는건데, 편하신거 하시면 됩니다.
그러고 들어가보면 짠 이렇게 설명서가 뜹니다.
음.. 제가 영어를 못해요. 그래서 구글에서 가져왔습니다.
마지막 줄 예제에서 보시면, 숫자 보이시죠? 사진에 맞는 위치에 알맞은 숫자를 넣으시면 됩니다. 그 뒤엔 하고 싶은 명령어를 넣으시면 됩니다.
$ crontab -e
# 1분마다 ls의 결과를 result.txt에 append를 하겠습니다. (crontab -e를 켜고 하셔야합니다)
*/1 * * * * ls >> result.txt 2> error.txt # 이 명령어를 추가해보았습니다.
$ crontab -l # 이를 실행하면 수정한 crontab 파일을 확인할 수 있습니다.
이렇게 저흰 정기적으로 명령을 실행하는 방법을 배워보았습니다.
이상 Linux에서 Daemon과 Cron은 무엇일까요? 였습니다. ^_^
'Linux > Linux' 카테고리의 다른 글
관리자와 일반 사용자, 사용자 추가 (0) | 2020.03.20 |
---|---|
쉘 시작 시 원하는 명령어 실행시키기 (0) | 2020.03.15 |
Linux 터미널 명령어 모음 (0) | 2020.03.15 |
Linux 백그라운드 실행, 멀티태스킹 (0) | 2020.03.13 |
Linux에서 프로세스 모니터링하기 (0) | 2020.03.13 |