Tôi đang tìm kiếm một ứng dụng tự động tắt máy sẽ tắt máy tính vào một thời điểm được chỉ định.
Phần quan trọng nhất của việc này là không nên hủy bỏ (trừ khi quá trình này cực kỳ khó chịu).
Tôi đang tìm kiếm một ứng dụng tự động tắt máy sẽ tắt máy tính vào một thời điểm được chỉ định.
Phần quan trọng nhất của việc này là không nên hủy bỏ (trừ khi quá trình này cực kỳ khó chịu).
Câu trả lời:
Ok, xa hơn với câu trả lời trước của tôi, tôi có thể hướng dẫn bạn cách lấy cron (một dịch vụ lịch trình UNIX tích hợp) để chạy lệnh tắt máy theo lịch trình cho bạn.
Nó sẽ chạy như root và sẽ bị ép buộc.
sudo crontab -e
Bạn sẽ cần nhập mật khẩu đăng nhập và sau đó nhấn enter.
Bây giờ bạn sẽ ở trong một trình soạn thảo văn bản (vim). Cẩn thận nhập các tổ hợp phím sau.
Giả sử bạn muốn tắt máy vào lúc 2 giờ sáng mỗi ngày, giờ chúng tôi sẽ nhập:
* 2 * * * /sbin/shutdown -h now
Nếu bạn muốn tắt máy lúc 2:30 sáng mỗi ngày, bạn sẽ nhập:
30 2 * * * /sbin/shutdown -h now
Bây giờ bạn sẽ được đưa trở lại dòng lệnh nơi bạn bắt đầu.
Bạn đã hoàn tất!
sudo
ở đó? Tôi biết điều đó có thể sẽ khiến nó bị treo, nhưng tôi khá chắc chắn rằng bạn phải root để chạy shutdown
.
shutdown
trong /sbin
đó có lẽ không có trong $ PATH mặc định của cron. Để khắc phục, hãy thực hiện sudo crontab -e
lại, nhập dd
để xóa dòng (giả sử tệp trông giống như tệp bạn đã liên kết ở trên) và nhập lại dòng dưới dạng 30 22 * * * /sbin/shutdown -h now
.
Nó có thể bị hủy mặc dù:
Dừng lại tại yymmddhhmm
:
shutdown -h 1109211555
Dừng lại sau 4 phút:
shutdown -h +4
/Library/LaunchAgents/me.lri.forceshutdown.plist
:
<?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>me.lri.forceshutdown</string>
<key>ProgramArguments</key>
<array>
<string>shutdown</string>
<string>-h</string>
<string>now</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>
Nếu số nguyên được sở hữu bởi một người dùng bình thường, cố gắng tải nó sẽ dẫn đến lỗi launchctl: Dubious ownership on file (skipping)
:
sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist
Tác nhân có thể được tải bằng cách đăng xuất và đăng nhập lại hoặc bằng:
sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist
sudo crontab -e
`08 16 * * * /sbin/shutdown -h now`
Điều này sẽ thực hiện tắt máy không bắt buộc bình thường:
osascript -e 'tell app "System Events" to shut down'
Điều này có thể được lên lịch trong Tùy chọn hệ thống> Tiết kiệm năng lượng> Lịch biểu . Tôi không chắc chắn rằng điều này sẽ bắt đầu tắt máy bắt buộc, bạn phải thử. Nhưng đó là một tùy chọn tích hợp để tự động tắt / lên nguồn theo lịch trình.
Bạn cũng có thể buộc tắt hệ thống bằng lệnh terminal (yêu cầu root):
tắt máy -h ngay
Bạn có thể đặt lệnh đó vào một tác vụ theo lịch trình launchd hoặc cron . Kiểm tra bài viết này để biết thêm thông tin về hai dịch vụ.
Bạn cũng có thể muốn kiểm tra một ứng dụng như iWannaS ngủ có tên thích hợp (không chắc chắn nếu điều này buộc phải tắt máy).
Bạn có thể sử dụng shutdown
trực tiếp để lên lịch tắt máy tại bất kỳ thời điểm nào trong tương lai:
shutdown -h time
trong đó thời gian chỉ định thời gian trong tương lai theo một trong hai định dạng: + number hoặc yymmddhhmm, trong đó năm, tháng và ngày có thể được mặc định cho các giá trị hệ thống hiện tại. Biểu mẫu đầu tiên đưa hệ thống xuống theo số phút và lần thứ hai tại thời điểm tuyệt đối được chỉ định.
cd ~/Downloads/
curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist
# xem ghi chú bên dưới
sudo mv com.tjluoma.forceshutdown.plist /Library/LaunchAgents
sudo chown root:wheel /Library/LaunchAgents/com.tjluoma.forceshutdown.plist
sudo launchctl load /Library/LaunchAgents/com.tjluoma.forceshutdown.plist
Như đã viết, plist sẽ khiến máy tính bị tắt vào lúc 11 giờ tối (giờ địa phương) mỗi ngày.
Nếu bạn muốn thay đổi thời gian, hãy chỉnh sửa tập lệnh trong bất kỳ trình soạn thảo văn bản nào. Thay đổi các phím Giờ và Phút, được trích dẫn ở đây:
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
(lưu ý sử dụng thời gian 24 giờ)
Nếu bạn muốn tắt máy Mac một cách an toàn theo thời gian đã lên lịch, hãy xem xét Power Manager ; nó tắt độc đáo mà không để các ứng dụng chặn quá trình:
Rất khó để một ứng dụng hoặc quy trình giả mạo chặn các bước này.
shutdown
Việc sử dụng shutdown
sẽ buộc thoát khỏi tất cả các quy trình trên máy Mac của bạn, bao gồm cả các ứng dụng đồ họa. Đối với nhiều ứng dụng, đây là hành vi gây hấn và không cung cấp cho ứng dụng nhiều cơ hội để lưu trạng thái hoặc dữ liệu.
Power Manager bao gồm một nhiệm vụ Trợ lý lịch biểu để tắt lịch trình .
Tiết lộ: Tôi làm việc với công ty làm Power Manager.
Tôi sẽ xem qua ghi chú công nghệ này của Apple