Câu trả lời:
Trong Mountain Lion bạn có thể sử dụng caffeinate
lệnh.
caffeinate -u -t 1000
sẽ ngăn chặn giấc ngủ nhàn rỗi trong 1000 giây.
Giải pháp cho vấn đề này là không giữ máy khách (máy Mac) của bạn hoạt động. Sử dụng các phương pháp như thế này là không thể bỏ qua. Điều gì xảy ra nếu kết nối mạng bị mất? Ngay cả khi máy Mac của bạn đã thức, kịch bản sẽ dừng lại.
Sử dụng nohup
Nếu tập lệnh chạy dài của bạn được gọi eternity.sh
, hãy thử như sau:
nohup /path/to/eternity.sh > /path/to/output.out &
Bây giờ bạn thậm chí có thể đóng kết nối và tập lệnh của bạn sẽ tiếp tục chạy . Các &
nền của quá trình để bạn có thể giữ kết nối mở và nhập lệnh. Xem bất kỳ đầu ra từ tập lệnh của bạn thông qua:
tail -f /path/to/output.out
Các đường dẫn trong các ví dụ là tùy chọn nếu tập lệnh nằm trên đường dẫn của bạn và bạn muốn đầu ra tập lệnh được ghi output.out
vào thư mục hiện tại.
Tôi quản lý các tập lệnh chạy trong nhiều ngày. Các tập lệnh như thế này nên được tách ra khỏi thiết bị đầu cuối. Rất may, nohup
cung cấp một lệnh gọi dễ nhớ để đạt được điều này - nghĩ rằng không bị treo máy .
Một lựa chọn khác là pmset . Sử dụng lệnh pmset noidle
để ngăn chặn giấc ngủ miễn pmset
là đang chạy. Thật không may, nó đòi hỏi một cửa sổ Terminal riêng biệt với pmset
việc chạy trong nó. Tuy nhiên, tùy chọn khác caffeinate
, chỉ cho phép bạn đặt thời gian nhất định . Vì vậy, vấn đề là chọn xem bạn muốn mở phiên SSH thứ hai hay xử lý hạn chế thời gian.
Chỉnh sửa: Theo nhận xét của binarybob , bạn thực sự có thể chạy nó trong nền như thế này: pmset noidle &
Để quay lại pmset
gõ fg
.
pmset
trong nền bằng cách sử dụng pmset noidle &
và do đó tiếp tục sử dụng dấu nhắc lệnh hiện tại. Gõ fg
để có được pmset
trở lại, lúc này bạn có thể Ctrl + C nó
!pmset noidle
- rất đẹp khi bạn có máy tính để bàn phục vụ máy tính xách tay IPython và máy tính xách tay kết nối từ xa.
caffeinate -i -s /bin/ssh ...
Giải trình:
-i
- Ngăn chặn giấc ngủ nhàn rỗi.
-s
- Ngăn chặn hệ thống ngủ (hoàn toàn, ngay cả khi bạn đóng nắp). Lưu ý: nó chỉ hoạt động trong khi bật nguồn AC.
/bin/ssh
- Chỉ cần tiếp tục viết lệnh bạn muốn thực hiện. Sử dụngssh
trực tiếp thay vì /bin/ssh
cũng nên làm việc.
Kết quả: Hệ thống của bạn sẽ không ngủ miễn là ssh
lệnh đang chạy.
Nếu bạn đang tìm kiếm tùy chọn hạt nhân như tôi:
sudo systemsetup -setcomputersleep Never
- Đặt hoặc Tắt chế độ ngủ do hệ thống Mac không hoạt động từ dòng lệnh trong OS X
Trình bảo vệ màn hình StarMessage ( http://starmessagesoftware.com/moonsc Greensaver / ) cũng có tùy chọn để giữ cho MAC hoạt động trong 2 giờ, 8 giờ hoặc lâu dài. Cách vô hiệu hóa giấc ngủ MAC này, dễ dàng hơn nhiều so với caffeine.