Ngăn Mac ngủ trong một lệnh terminal dài

Các script, lượt rsync lớn, build và tác vụ xử lý dữ liệu trong terminal có thể dễ dàng chạy lâu hơn bộ đếm thời gian chờ ngủ. Đây là cách ngăn Mac ngủ trong một lệnh terminal dài, bao gồm khi nào caffeinate là đủ và khi nào cần thêm các giới hạn an toàn.
Vì sao các lệnh dài bị cắt ngang
Một lệnh trong Terminal chạy như một tiến trình bình thường gắn với trạng thái nguồn của Mac. Rời đi đủ lâu để chạm bộ đếm idle, hoặc đóng nắp, là Mac ngủ cùng lệnh bị tạm dừng.
Các script chạy lâu, các lượt rsync lớn, và các tác vụ xử lý dữ liệu là loại dễ vượt qua bộ đếm thời gian chờ nhất. Đó chính là lúc một lần gián đoạn do ngủ tốn kém nhất, vì đây là những lệnh bạn không thể làm lại nhanh được.
Điều khó chịu là lệnh vốn đang chạy bình thường. Không có lỗi gì cả—chỉ là Mac đi ngủ đúng lúc đang chạy.
caffeinate, và nơi nó dừng lại
macOS có sẵn caffeinate cho việc này, và nó thực sự hữu ích. Chạy caffeinate, hoặc bọc một lệnh với caffeinate -i your-command, giữ hệ thống thức trong suốt thời lượng và nhả ra khi lệnh thoát. Cho một lượt giữ thức nhanh trên một job đơn lẻ, đó là công cụ đúng và không tốn gì.
Điều caffeinate không làm là theo dõi pin hay nhiệt. Nó sẽ giữ laptop thức đến khi pin cạn hoàn toàn, và không có khái niệm gì về trạng thái nhiệt trong một tác vụ dài và nặng.
CLI của LidRun lấy chính ý tưởng một-lệnh đó và thêm các giới hạn bảo vệ: lidrun -- your-command giữ một power assertion tạm thời chỉ cho lượt chạy đó và giải phóng khi lệnh kết thúc, trong khi các giới hạn pin và nhiệt của ứng dụng vẫn có hiệu lực.
Hướng dẫn liên quanNgăn Mac ngủ trong lúc chạy một Docker buildKhi nào dùng cái nào
Cho một script năm phút trên một chiếc Mac đang cắm sạc, caffeinate hoàn toàn ổn và bạn không cần gì hơn.
Cho một job dài không người canh, nhất là khi chạy bằng pin hoặc đóng nắp, ngưỡng sàn pin và theo dõi nhiệt là thứ giữ một lệnh nhiều giờ khỏi rút cạn Mac hoặc chạy nóng không người giám sát.
Nếu các job terminal của bạn thường chạy lâu trong lúc bạn vắng mặt, đáng thử LidRun để một lệnh đơn lẻ, hay cả một phiên, chạy bên trong các giới hạn an toàn đó.
Một thiết lập thực tế
Cho một lượt chạy đơn lẻ, thêm tiền tố: lidrun -- your-long-command, và để nó giải phóng power assertion khi lệnh hoàn tất.
Cho một phiên dài hơn, cắm sạc, khởi động lệnh, bật chế độ giữ chạy, rồi đóng nắp nếu bạn muốn rời đi. Đặt một bộ hẹn giờ phiên để một script bị treo không giữ Mac thức mãi mãi.
Để Mac trên một mặt phẳng cứng, thoáng khí cho các job nặng, vì một lượt build hay nén dài có thể chạy nóng.
LidRun giữ công việc của bạn chạy tiếp khi đóng nắp, với cơ chế bảo vệ pin và nhiệt tích hợp sẵn.
Đã có LidRun? Đọc hướng dẫn thiết lập →
Mới biết đến LidRun? Xem bảng giá →
Câu hỏi thường gặp
caffeinate giữ Mac thức đáng tin cậy cho một lệnh, nhưng nó không trông coi pin hay nhiệt. Cho một job dài không người canh, một công cụ thêm các giới hạn đó thì an toàn hơn.
Có. CLI lidrun giữ một power assertion giữ thức trong suốt thời lượng của một lệnh đơn lẻ và nhả nó khi lệnh hoàn tất, với các giới hạn pin và nhiệt vẫn áp dụng.
Có, khi bật chế độ giữ chạy, miễn là pin và trạng thái nhiệt còn nằm trong các ngưỡng bạn đặt.
Một bộ hẹn giờ phiên giới hạn lượt chạy từ 30 phút đến 8 tiếng, nên một lệnh bị treo không giữ Mac thức vô thời hạn.