Launchd để chỉ chạy theo lịch trình, không khởi động lại?


3

Tôi có một tập lệnh mà tôi muốn đặt cho 3:30 sáng hàng ngày và nó chạy vào thời gian đã đặt nhưng nó cũng chạy trên mỗi lần khởi động lại máy tính mà tôi không muốn.

Làm cách nào để tôi thực hiện công việc này chỉ với lịch trình tại chỗ và không chạy trên mỗi lần khởi động máy tính?

Đây là ý chính của tôi:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.xxxxx.xxxx</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Library/Scripts/script.sh</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Minute</key>
        <integer>30</integer>
        <key>Hour</key>
        <integer>3</integer>
    </dict>
</dict>
</plist>

Tôi nghĩ rằng tôi biết vấn đề bây giờ. Tôi có thể xả launchd không? Tôi đã thử nghiệm với một tập lệnh và nó đang hoạt động khi khởi động lại. Sau đó, tôi điều chỉnh kịch bản theo lịch trình và nó vẫn đang thực hiện khi khởi động lại. Để kiểm tra, tôi đã loại bỏ hoàn toàn nhiệm vụ launchd .plist và khởi động lại máy tính và nó vẫn chạy tập lệnh. Vì vậy, nó dường như đang nhớ nhiệm vụ mặc dù tôi đã xóa nó. Launchd có thể bị xóa hoặc xóa vì tệp .plist không còn ở đó nữa mà nó vẫn chạy?
Carter

Câu trả lời:


2

Bạn sẽ cần thêm phím "Chạy khi tải" và đặt thành sai.

<key>RunAtLoad</key>
<false/>

Điều này sẽ ngăn chạy khi khởi động và chỉ tại thời điểm được chỉ định thủ công của bạn.


Tôi đã thêm nó như đã thấy ở đây nhưng không có may mắn. <dict> <key>RunAtLoad</key> <false/> <dict>
Carter

Khi tôi tìm ra cách xóa / xóa launchd, tôi sẽ thử lại lần nữa. Rất có thể làm việc nhưng không biết vì nhiệm vụ trước bị kẹt / ghi nhớ nó.
Carter

1

Cảm ơn tất cả mọi người chỉ cần làm việc này! Câu trả lời đầu tiên đã làm việc. Vấn đề của tôi là tôi đã không tải launchd .plist đầu tiên mặc dù tôi đã xóa tệp. Nó cứ nhớ nó mỗi lần khởi động lại.

Tôi đã kết thúc việc tạo lại hai iMac và thử nghiệm launchd .plist bằng lệnh được thêm vào.

Đã thử nghiệm với việc tải nó và dỡ nó ra để xác nhận. Sau vô số lần khởi động lại và điều chỉnh đồng hồ để kiểm tra lại, tôi có thể xác nhận nó hoạt động theo cách chúng ta cần :)

Máy tính có thể khởi động lại tất cả những gì nó muốn nhưng sẽ không chạy tập lệnh cho đến thời gian đã lên lịch.


1
Vì câu trả lời có thể được sắp xếp theo phiếu bầu, thời gian hoặc hoạt động - vui lòng liên kết với câu trả lời cụ thể thay vì nói "đầu tiên". Ngoài ra, nếu bạn có thể liệt kê lệnh bạn đã sử dụng để giải nén bản gốc - điều đó sẽ giúp những người đến đây sau đó và không thể hiểu trình tự nào thực sự giải quyết vấn đề.
bmike
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.