Tôi đã đọc qua trang man launchctl và có một vài câu hỏi về chức năng của nó:
- Sự khác biệt giữa tải và bắt đầu, dỡ và dừng là gì?
- Tôi tìm nhãn công việc cho một daemon ở đâu, nó có trong tệp plist không?
Tôi đã đọc qua trang man launchctl và có một vài câu hỏi về chức năng của nó:
Câu trả lời:
launchctl load -w
và launchctl unload -w
.start
và stop
thường được dành riêng để thử nghiệm hoặc gỡ lỗi một công việc.launchctl start <label>
: Bắt đầu công việc. Điều này thường được dành riêng để thử nghiệm hoặc gỡ lỗi một công việc cụ thể.launchctl stop <label>
: Dừng công việc. Đối diện với sự khởi đầu và có thể công việc sẽ ngay lập tức khởi động lại nếu công việc được cấu hình để duy trì hoạt động.launchctl remove <label>
: Loại bỏ công việc khỏi launchd
, nhưng không đồng bộ. Nó sẽ không chờ công việc thực sự dừng lại trước khi quay lại, vì vậy không có lỗi xử lý trên cái này.launchctl load <path>
: Tải và bắt đầu công việc miễn là công việc không bị "vô hiệu hóa".launchctl unload <path>
: Dừng và dỡ công việc. Công việc vẫn sẽ khởi động lại vào lần đăng nhập / khởi động lại tiếp theo.launchctl load -w <path>
: Tải và bắt đầu công việc đồng thời đánh dấu công việc là "không bị vô hiệu hóa". Công việc sẽ khởi động lại vào lần đăng nhập / khởi động lại tiếp theo.launchctl unload -w <path>
: Dừng và dỡ tải và vô hiệu hóa công việc. Công việc sẽ KHÔNG khởi động lại vào lần đăng nhập / khởi động lại tiếp theo.Tôi tìm nhãn công việc cho một daemon ở đâu, nó có trong tệp plist không?
Có, nó nằm trong tệp plist và nó thường khớp với tên tệp của tệp plist.
Tải và dỡ tải cho launchd tải tập tin cấu hình. Cho dù nó chạy chương trình và trong những điều kiện được xác định bởi tập tin plist. Một công việc hiện không chạy có thể được bắt đầu launchctl start ...
và dừng lại với launchctl stop ...
.
Nhãn cho công việc được xác định bởi khóa nhãn và tên của plist cũng phải là nhãn công việc theo sau là phần mở rộng plist.