Systemy operacyjne
Rafał Polak 12k2 |
Laboratorium Komputerowe nr.9 |
TEMAT: Środowisko Linux - Procesy w systemie Unix cz. II
Celem ćwiczenia będzie zapoznanie się z podstawowymi informacjami dotyczącymi procesów w systemie Unix. System ten pozwala na wykonywanie wiele procesów jednocześnie, jest to jednak pozorne, gdyż w danym momencie wykonuje się tylko jeden co pare milisekund. Wszystkie procesy posiadają swojego rodzica, z których się wywodzą, po za jednym wyjątkiem, procesem init uruchamianym wraz ze startem systemu. Posiadają one swoje numery identyfikacyjne oraz numery swoich przodków.
URUCHAMIANIE PROCESÓW
Aby uruchomić zadanie wystarczy defacto wpisać nazwę odpowiedniego programu w terminalu lub polecenia. Istnieje możliwość uruchomienia zadania po wyznaczonym czasie, który musi upłynąć oraz także o odpowiedniej dacie. Służą nam do tego polecenia At, Batch, Nohup.
Zbadamy zasadę działania oraz możliwości polecenia At. Polecenie to pozwala uruchomić zadanie o odpowiedniej godzinie i dacie. Poniżej znajduje się przykład uruchomienia polecenia poznanego wcześniej do sprawdzania plików i folderów w bieżącym katalogu. Wynik zostanie zapisany do pliku. Aby zakończyć polecenie wciskamy kombinacje CTRL+D. Jak przedstawia poniższy przykład polecenie wykonało się dopiero po upływie zadanego czasu.
Kontrolę nad oczekującymi zadaniami mamy przy pomocy dwóch parametrów do polecenie at. Parametry te :
at -l lista zadań oczekujących na wykonanie
at -d <numer_zadania> usunięcie zadania z listy oczekujących
Lista oczekujących zadań składa się z unikatowego numeru zadania, przewidywanej daty wykonania zadania oraz właściciela zlecenia.
Polecenie Batch działa na identycznej zasadzie jak at, poza jednym małym wyjątkiem priorytetu wykonania zadania. Polecenie batch wykona zadanie o danej porze tylko wtedy gdy pozwala na to poziom obciążenia systemu.
Na potrzeby sprawdzenia działania polecenia Nohup tworzymy skrypt wypisujący na ekran bierzącą datę systemową w nieskończonej pętli co 15 sekund. Wywołujemy go poleceniem nohup w tle.
Nohup ./s1 &
Wyniki działania skryptu zostają zapisywane do pliku nohup.out .Plik ten co 15 sekund się aktualizuje i zwiększa swój rozmiar, natomiast proces jest typu running. Aby go przerwać należy go zawiesić lub zabić poleceniem KILL.
URUCHAMIANIE PROCESÓW za pomocą CRON
Program dostępny dla każdego użytkownika systemu, służący do edycji pliku konfiguracyjnego przydzielonych zadań. Dzięki programowi crontab możemy dodawać nowe zadania automatycznie i system będzie wiedział, jak często i o jakiej porze je wykonywać.
Powyżej została pokazana edycja pliku konfiguracyjnego crontab, w którym dopisane zostały nowe zadania. Pięć pól oznaczone przed poleceniem, są to odpowiednio: minuty, godziny, dni, miesiące i lata w których odpowiedni proces ma zostać wykonany. Po zapisaniu pliku zostaną dodane nowe zadania do kolejki.
ZABIJANIE
Podczas gdy proces lub zadanie ma nałożone blokady zabijania procesu, należy użyć polecenia SIGKILL w celu unicestwienia zadania