Szukam aplikacji do automatycznego wyłączania, która wymusi wyłączenie komputera w wyznaczonym czasie.
Najważniejszą częścią tego jest to, że zamknięcie nie powinno być anulowane (chyba że proces jest bardzo uciążliwy).
Szukam aplikacji do automatycznego wyłączania, która wymusi wyłączenie komputera w wyznaczonym czasie.
Najważniejszą częścią tego jest to, że zamknięcie nie powinno być anulowane (chyba że proces jest bardzo uciążliwy).
Odpowiedzi:
Ok, więc w nawiązaniu do mojej poprzedniej odpowiedzi mogę przeprowadzić użytkownika przez crona (wbudowaną usługę harmonogramu UNIX) do uruchomienia zaplanowanego polecenia zamknięcia.
Będzie działał jako root i zostanie wymuszony.
sudo crontab -e
Musisz wprowadzić hasło logowania, a następnie nacisnąć enter.
Będziesz teraz w edytorze tekstu (vim). Ostrożnie wprowadź następujące naciśnięcia klawiszy.
Powiedzmy, że chcesz, aby maszyna była zamykana codziennie o 2 w nocy, teraz wprowadzimy:
* 2 * * * /sbin/shutdown -h now
Jeśli chcesz, aby maszyna była zamykana codziennie o 2:30, wpisz:
30 2 * * * /sbin/shutdown -h now
Powinieneś teraz wrócić do wiersza poleceń, w którym zacząłeś.
Jesteś skończony!
sudo
tam stawiać ? Wiem, że prawdopodobnie spowoduje to zawieszenie się, ale jestem prawie pewien, że musisz być rootem, aby uruchomić shutdown
.
shutdown
jest w /sbin
którym prawdopodobnie nie ma domyślnej $ PATH cron. Aby to naprawić, zrób to sudo crontab -e
jeszcze raz, wpisz, dd
aby usunąć linię (zakładając, że plik wygląda jak ten, który podłączyłeś powyżej) i ponownie wprowadź linię jako 30 22 * * * /sbin/shutdown -h now
.
Można to jednak anulować:
Zatrzymaj się na yymmddhhmm
:
shutdown -h 1109211555
Zatrzymaj się za 4 minuty:
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>
Jeśli plist był własnością zwykłego użytkownika, próba załadowania go spowodowałaby błąd launchctl: Dubious ownership on file (skipping)
:
sudo chown root /Library/LaunchAgents/me.lri.forceshutdown.plist
Agenta można załadować, wylogowując się i ponownie logując, lub za pomocą:
sudo launchctl load /Library/LaunchAgents/me.lri.forceshutdown.plist
sudo crontab -e
`08 16 * * * /sbin/shutdown -h now`
Spowoduje to normalne niewymuszone zamknięcie:
osascript -e 'tell app "System Events" to shut down'
Można to zaplanować w Preferencjach systemowych> Oszczędzanie energii> Harmonogram . Nie jestem pewien, czy to zainicjuje wymuszone zamknięcie, będziesz musiał to wypróbować. Jest to jednak wbudowana opcja automatyzacji planowego wyłączania / zwiększania mocy.
Możesz także wymusić zamknięcie systemu za pomocą polecenia terminalu (wymaga roota):
zamknij -h teraz
Możesz umieścić to polecenie w zaplanowanym zadaniu uruchomionym lub cron . Sprawdź ten artykuł, aby uzyskać więcej informacji na temat tych dwóch usług.
Możesz także sprawdzić aplikację taką jak trafnie nazwana iWannaSleep (nie jestem pewien, czy to wymusza zamknięcie).
Możesz użyć shutdown
bezpośrednio, aby zaplanować zamknięcie w dowolnym momencie w przyszłości:
shutdown -h time
gdzie czas określa przyszły czas w jednym z dwóch formatów: + liczba lub rrmmddggmm, gdzie rok, miesiąc i dzień mogą być domyślnie ustawione na bieżące wartości systemowe. Pierwsza forma obniża system w liczbie minut, a druga w określonym czasie bezwzględnym.
cd ~/Downloads/
curl --remote-name http://dl.dropbox.com/u/18414/ase/com.tjluoma.forceshutdown.plist
# Zobacz notkę poniżej
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
Jak napisano, plist spowoduje codzienne zamykanie komputera o 23:00 (czasu lokalnego).
Jeśli chcesz zmienić czas, edytuj skrypt w dowolnym edytorze tekstu. Zmień klucze godziny i minuty, tutaj:
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
(zwróć uwagę na użycie 24-godzinnego czasu)
Jeśli chcesz bezpiecznie zamknąć komputer Mac w zaplanowanym czasie, rozważ Power Manager ; ładnie się wyłącza, nie pozwalając aplikacjom blokować procesu:
Nieuczciwej aplikacji lub procesowi bardzo trudno jest zablokować te kroki.
shutdown
Za pomocą shutdown
spowoduje wymuszenie zakończenia wszystkich procesów na komputerze Mac, w tym aplikacji graficznych. W przypadku wielu aplikacji jest to zachowanie agresywne i nie zapewnia aplikacji dużej możliwości zapisania stanu lub danych.
Program Power Manager zawiera zadanie Asystenta harmonogramu służące do zamykania systemu zgodnie z harmonogramem .
Ujawnienie: Współpracuję z firmą, która tworzy Power Managera.
Rzuciłbym okiem na tę notatkę techniczną Apple