Wyłączanie komputera po wskazanym czasie
Każdy musi spać
Organizm człowieka to skomplikowana maszyna. Dużo bardziej skomplikowana niż znane nam i używane przez nas komputery. Taka żywa maszyna, o ile jest zdrowa, potrzebuje snu. Zaraz, zaraz! Ale co to ma wspólnego z komputerem?
Dziś zajmę się nieco luźniejszym zadaniem, bardziej praktycznym, bardziej dostępnym dla przeciętnego komputerowca. O ile znajomość budowy indeksów SQL Server, technik wirtualizacji danych i obsługa wyjątków WCF to wiedza dość specjalistyczna, o tyle wyłączanie komputera jest zadaniem bardzo przyziemnym. Kto nigdy nie wyłączał komputera i uważa, że nigdy tego nie będzie robił, może w tym momencie zakończyć czytanie.
Potrzeba matką wynalazków
Pomysł wpisu pojawił się bardzo naturalnie. Zdarza się, że wieczorem, po całym dniu zmagań wszelakich kładę się na łóżku i włączam muzykę - dla relaksu. Czasem włączam jakieś wiadomości dostępne online, bo warto wiedzieć co się w świecie dzieje. Nie wiem jak jest u innych, ale zdarza mi się podczas opisanych czynności zasnąć. A komputer chodzi, chodzi całą noc. Niepotrzebnie.
Wiadomo, że nabijają się rachunki za prąd, że coś świeci, że coś szumi. Z muzyki jednak nie zrezygnuję. Rozwiążę to w inny sposób.
Niech się komputer wyłączy po 30 minutach
Dopóki nie przejrzałem wyników z wyszukiwarki nie zdawałam sobie sprawy z rangi problemu. W Internecie dostępnych jest kilkadziesiąt, o ile nie kilkaset, aplikacji zajmujących się czasowym wyłączaniem komputera. Powiem, wiecej - sam kiedyś taką aplikacje napisałem, w ramach uczenia się Delphi. Wydaje się, że wystarczy pobrać gotową aplikację, zainstalować ją i odtrąbić sukces. Mam jednak lepszą propozycję.
Po co cokolwiek instalować? Po co ściągać aplikacje z nieznanych źródeł? Po co wrzucać do swojego systemu dodatkowe pliki, skoro wszystko, czego nam potrzeba, jest juz na naszym komputerze? Aplikacja nazywa się shutdown.exe i znajduje się w katalogu z syatemem Windows, np. C:\Windows\system32\shutdown.exe. Spośród wielu parametrów przedstawię dwa najważniejsze:
- -s (lub /s) - Wyłącza komputer.
- -t XX (lub /t XX) - Pozwala określić czas, po którym komputer powinien się zamknąć. XX oznacza czas, podany w sekundach, po którym nastąpi wyłączenie.
Całą instrukcja będzie więc wyglądała następująco:
shutdown -s -t 1800
Instrukcję mozna wpisać w oknie konsoli, jako polecenie Uruchom, w oknie PowerShell, w oknie Wyszukaj programy i pliki. Po naciśnięciu Enter zostaniemy poinformowani o planowanym zamknięciu systemu. Wartość 1800 oznacza czas, w sekundach, po którym system zostanie zamknięty (30 minut * 60 sekund = 1800 sekund).
Proste rozwiązanie, które pozwala nam posłuchać muzyki z Internetu do snu. Gdy w trakcie tej nieskomplikowanej czynności półświadomego odsłuchiwania ulubionych przebojów zaśniemy, komputer wyłączy się sam.
Anulowanie zamykania systemu
Zdarza się, że po jakimś czasie zreflektujemy się i uznamy, że nie chcemy wyłączać komputera. Być może zupełnie nam się nie chce spać i boimy się, że zaraz komputer się wyłączy a my zostaniemy sam na sam z martwą ciszą. Nic straconego - akcję zamykania czasowego mozna anulować. Służy do tego parametr -a (lub /a):
shutdown -a
Znów zostaniemy grzecznie poinformowani o anulowaniu procesu zamykającego.
Mamy dużo otwartych aplikacji - hibernacja
Przejęta niedźwiedzica pyta:
- Synku, co się stało? Czy na pewno na całą zimę poddałeś się hibernacji, jak prosiłam?
- Hibernacji? Myślałem, że powiedziałaś masturbacji...
Hibernację warto też rozważyć gdy nasz system uruchamia się bardzo długo. Odczytanie stanu sprzed hibernacji będzie zawsze szybsze niż uruchomienie systemu Windows i ponowne wczytanie wielu procesów, które razem z systemem są uruchamiane.
Wydawać by się mogło, że instrukcja czasowego wyłączania z hibernacją będzie wyglądała następująco:
shutdown -h -t 1800
Problem w tym, że instrukcje -h i -t nie działają jednocześnie. Da się to jednak obejść...
W oknie konsoli cmd można wpisać taką oto instrukcję:
timeout -t 10 && shutdown -h
Dla posiadaczy PowerShell (zdecydowanie zachęcam do zainstalowania i nauczenia się) instrukcja może wyglądać na przykład tak:
timeout -t 10;shutdown -h
Program timeout nie jest skomplikowany. Parametr -t określa czas w sekundach, jaki musi upłynąć przed zakończeniem jego pracy. Aby anulować wykonanie skryptu można użyć kombinacji klawiszy Ctrl + Break. W wersji PowerShell można użyć kombinacji klawiszy Ctrl + c.
Kategoria:PowerShell
Komentarze:
Windows-7, aplikacja: TotalMedia nagrywa wybraną audycję TV, po zakończeniu nagrywania są tylko 2 opcje: nic nie rób albo shutdown, brak opcji hibernate.