Wyłącz komputer gdy skończysz

Zdarzają się czasem sytuacje gdy zostawiam włączony komputer bo jeszcze nie skończył czegoś robić (np ściągają się jakieś pliki z internetu, kompresuje się jakiś film/muzyka) ale chciał bym aby się wyłączył gdy skończy.

Niestety nie zawsze idzie przewidzieć ile minut zajmie to co komputer robi teraz aby można się posłużyć shutdown w normalny sposób. Można zgadywać na podstawie aktualnej szybkości ale internet trochę zwolni, ściąganie się przedłuży i utnie nam plik w połowie.

Aby uniknąć konieczności takiego przewidywania napisałem prosty skrypt zapiszizakończ który wyłącza komputer gdy zakończy się zapisywanie danych na dysku.

Nie ważne jaki program akurat zapisuje te dane, czy jest to jeden plik czy wiele - skrypt sprawdza tylko czy w katalogu w którym został uruchomiony (lub jego podkatalogach) przybywa danych. Jeśli przez 5 minut nie przybędzie danych, wyłącza komputer. Wyłączenie celowo nie jest natychmiastowe, jeśli się w ostatniej chwili rozmyślimy jest czas aby nacisnąć ctrl+c i przerwać działanie skryptu.

Uruchamiając ten skrypt trzeba pamiętać o uprawnieniach do wyłączenia komputera (o ile nie odpalamy go jako root trzeba dać sudo zapiszizakoncz).

3 komentarze:

  1. Jakie rozszeżenie ma mieć ten skrypt i jak go uruchomic pod Windows 8.

    OdpowiedzUsuń
    Odpowiedzi
    1. Skrypt można uruchomić niezależnie od tego jak się nazywa.

      Pod windows wygodnie jest dać mu końcówkę .sh i skojarzyć taką końcówkę z powłoką tak aby można go było uruchomić poprzez kliknięcie go myszą.

      Zwróć tylko uwagę, na to że każdego windowsa wyłącza się trochę innym poleceniem - trzeba więc w skrypcie zmienić ostatnią linijkę.

      Usuń
  2. Dzięki, zaskoczyłem -:))

    OdpowiedzUsuń