OS X : 일정 시간에 응용 프로그램을 종료하도록 Launchctl 일정 예약 시간에 응용 프로그램을 열

나는 이것을 창조했다. launchctl .plist 매일 특정 시간에 응용 프로그램을 열 때 – 또는 다음에 컴퓨터를 사용할 때 잠에서 깨다 .

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>caffeine-timecontrol.job</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/Caffeine.app/Contents/MacOS/Caffeine</string>
    </array>
    <key>StartCalendarInterval</key>
        <dict>
            <key>Minute</key><integer>40</integer>
            <key>Hour</key><integer>7</integer>
            <key>WeekDay</key><integer>1234567</integer>
        </dict>
</dict>
</plist>

위는 앱을 깨우기로되어 있습니다. Caffeine …에서 7:40 AM Every day.

그러나 응용 프로그램을 종료 할 절을 포함시킬 수 있습니까? 00:00 AM Every day 컴퓨터가 깨다 ?

의미, 거기에 반대입니다 StartCalendarInterval, 또는 나는 다른 방법으로 그것에 대해 가야만 할 것이다. 통하다 crontab?



답변

이 두 가지 방법 중 하나가 작동해야하지만 나는 테스트하지 않았다는 것을 인정합니다.

  1. AppleScript로 라를 작성할 수 있습니다.

tell application "Caffeine" to quit

이 파일을 파일에 넣은 다음 osascript 명령을 사용하거나 스크립트 편집기에 넣고 응용 프로그램으로 저장 한 다음 응용 프로그램으로 실행합니다.

  1. 또는 오래된 killall 명령을 사용할 수 있습니다. 당신은 카페인 과정의 과정 이름을 찾아서 그것을 보내야 할 것입니다.

    killall Caffeine

명령, 카페인 애플 리케이션의 프로세스 이름이 카페인 (활동 모니터 또는 ps 명령에서 확인)


답변