OS X: กำหนดการ Launchctl เพื่อออกจากแอปพลิเคชันในเวลาที่กำหนด


0

ฉันสร้างสิ่งนี้แล้ว 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

หนึ่งในสองวิธีนี้ควรใช้งานได้ แต่ฉันยอมรับว่าฉันยังไม่ได้ทดสอบ:

  1. ไม่ว่าคุณจะเขียน AppleScript ได้

tell application "Caffeine" to quit

วางสิ่งนี้ลงในไฟล์จากนั้นเปิดไฟล์ osascript สั่งหรือวางลงใน Script Editor และบันทึกเป็นแอปพลิเคชันและเปิดใช้งานเป็นแอพ

  1. หรือคุณสามารถใช้คำสั่ง killall แบบเก่าได้ คุณจะต้องค้นหาชื่อกระบวนการของกระบวนการคาเฟอีนและส่ง

    killall Caffeine

คำสั่งสมมติว่าชื่อกระบวนการของแอป Caffeine คือ Caffeine (ตรวจสอบจาก Activity Monitor หรือคำสั่ง ps)


ขอบคุณสำหรับการตอบกลับของคุณ. ฉันคิดว่าวิธีแรกจะใช้งานได้ดี launchctl เรียกใช้ AppleScript ผ่าน osascript.
Winterflags
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.