특정프로그램 반복실행하는 배치파일 생성하는 방법

조회수 4077회

예를들어 start.py 이라는 프로그램을 일정시간(1시간)마다 실행할 수 있는 배치파일 코드가 궁금합니다. 또, 실행과 동시에 열려있는 현재 프로그램을 닫고 새롭게 창이 뜨길 원하는데요. 어떻게 하는지 모르겠습니다. ㅠㅠ

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 우선 간단한 배치 프로세서는 각 운영체제마다 각각 존재합니다.

    윈도우 같은경우 윈도우 스케쥴러(at)가 있고 유닉스/리눅스라면 전통적인 crontab 이 있습니다.

    이 부분은 코드가 아니라 툴 사용이므로 검색하면 자료가 많습니다.

    두번째 프로그램을 시리얼하게 실행하기 원하는 것이죠.

    가장 간단한 방법은 실행시 lock 파일(일반 텍스트 파일) 존재유무롤 확인하고 존재 하지 않으면 lock 파일을 만들고 실행하고 존재하면 기존의 프로세스를 kill 하고 lock 파일을 만들고 실행 하는 형태가 있습니다.

    사실 프로세스 시리얼처리도 운영체제에 종속적인 부분입니다.

    프로세스 관리는 커널영역이기 때문입니다.

    그로인해 구체적인 처리 방법 및 코드는 사용 OS에 따라 다를 수 있습니다.

    • 윈도우의 경우 스케줄러를 이용하지 않고, bat 파일 명령어로 가능할까요? loop: 파일명.py 이런느낌? 알 수 없는 사용자 2017.5.21 21:54
    • 배치파일로는 처리가 불가능합니다. 시간 계수가 가능한 타이머가 있어야 하고 그 타이머가 백그라운드에서 계속 수행되고 있어야 합니다. 윈도우 스케쥴러나 crontab을 이용하는 것이 가장 현명합니다. 정영훈 2017.5.21 21:59
    • 친절한 답변 감사드립니다. 알 수 없는 사용자 2017.5.21 22:11
    • 아 한가지 윈도우 스케쥴러라면 실행중인 경우에 대해 처리하는 옵션이 있습니다. 실행중인 경우 다시 실행하지 않거나 중지하거나...처리할 수 있는 옵션이 존재합니다. 정영훈 2017.5.22 00:17

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)