Dla administratorów systemu, którzy są odpowiedzialni za kontrolowanie serwerów Linux, zarządzanie zasobami jest ważnym zadaniem, którym należy się zająć. Czasami polecenia Linuksa zajmują ogromną część zasobów systemowych i muszą zostać zatrzymane.
Na szczęście możesz ograniczyć czas wykonywania swoich poleceń za pomocą narzędzi takich jak limit czasu. W tym artykule omówimy, dlaczego należy dodawać ograniczenia czasowe do poleceń i jak dodać ograniczenie czasowe za pomocą poleceń, takich jak limit czasu i limit czasu.
Po co ograniczać czas wykonywania polecenia?
Istnieje kilka powodów, dla których może być konieczne uruchamianie poleceń z ograniczeniem czasowym. Po pierwsze, możesz używać starszego komputera lub serwera i nie chcesz, aby Twój system marnował swoje zasoby na niepożądane przetwarzanie.
Po drugie, zadania ograniczone czasowo, takie jak transfery plików, kończą się po pewnym czasie, ale ich procesy nie zatrzymują się natychmiast. Aby ograniczyć pobieranie przez program dodatkowego czasu procesora i pamięci, możesz dodać limit, który zatrzyma proces po zakończeniu transferu.
Dodaj limit za pomocą polecenia limitu czasu
Polecenie timeout jest pierwszym wyborem wielu użytkowników Linuksa, którzy dodają ograniczenie czasowe do swoich poleceń. Ponieważ to narzędzie jest częścią Narzędzia GNU Core pakiet, jest preinstalowany w prawie każdej dystrybucji Linuksa.
Podstawowa składnia polecenia timeout to:
Polecenie limitu czasu
...gdzie limit to czas, przez jaki polecenie powinno działać i Komenda jest poleceniem Linuksa, które chcesz wykonać z ograniczeniem czasowym.
Na przykład, jeśli chcesz uzyskać szczegóły procesu za pomocą Top komenda przez 10 sekund:
przekroczenie limitu czasu 10 s do góry
Najwyższe polecenie nigdy się nie kończy i musisz je ręcznie zakończyć za pomocą Ctrl + C. Wyżej wspomniane polecenie będzie działało od góry przez 10 sekund, a po upływie limitu czasu limit czasu zatrzyma jego wykonanie. Zwróć uwagę, że upływa limit czasu sekundy jako domyślną jednostkę czasu, co oznacza 10 i 10s są takie same.
Możesz także użyć m, godz, i re dla minuty, godziny, i dni odpowiednio.
Ręcznie wysyłaj sygnały zabójstwa bez limitu czasu
Domyślnie komenda timeout wysyła SIGTERM jako sygnał zabicia. SIGTERM oznacza Zakończenie sygnału, co natychmiast kończy proces.
Możesz również wysyłać inne sygnały za pomocą -s flaga. Na przykład, aby wysłać sygnał SIGKILL:
timeout -s SIGKILL 10 do góry
Możliwe jest również określenie sygnału za pomocą jego numeru sygnału. Następujące polecenie wysyła również sygnał SIGKILL do górnej komendy.
limit czasu -s 9 10 top
...gdzie 9 to numer sygnału dla SIGKILL.
Aby uzyskać listę wszystkich dostępnych sygnałów:
kill -l
Niektóre polecenia nie kończą się całkowicie nawet po dodaniu limitu czasu. W takich sytuacjach dodanie sygnału zabicia z domyślnym poleceniem limitu czasu rozwiązuje problem.
limit czasu -k 15 10 top
Wyżej wymienione polecenie najpierw uruchomi górną komendę na 10 sekund, a jeśli polecenie nie zostanie zatrzymane, wyśle sygnał zabicia do procesu po 15 sekundach.
Ucz się więcej: Jak zabić nieodpowiadające programy w systemie Linux
Ograniczanie czasu wykonywania poleceń z limitem czasu
W przeciwieństwie do polecenia timeout, timelimit nie jest jednym ze standardowych pakietów preinstalowanych w dystrybucjach Linuksa. Dlatego musisz ręcznie zainstalować limit czasu w swoim systemie.
Aby zainstalować w dystrybucjach opartych na Debianie:
sudo apt install timelimit
Limit czasu nie jest dostępny w oficjalnych repozytoriach Arch. Ale możesz go zainstalować za pomocą menedżera pakietów AUR, takiego jak tak.
sudo yay -S timelimit
Związane z: Jak zainstalować pakiety w Arch Linux
Aby zainstalować w Fedorze:
sudo dnf install timelimit
Na RHEL i CentOS:
sudo yum install timelimit
Alternatywnie, jeśli nadal nie możesz zainstalować pakietu w swoim systemie, pobierz kod źródłowy z oficjalnej strony internetowej i zainstaluj go ręcznie.
Ściągnij: limit czasu
Aby uruchomić najwyższe polecenie na 10 sekund przy użyciu limitu czasu:
timelimit -t10 top
Timelimit przyjmuje wiele argumentów, takich jak warntime, warnsig, zabić czas, i killsig. Jeśli użytkownik nie poda tych argumentów, przyjmowane są ich wartości domyślne, którymi są warntime = 3600 sekundy, warnsig = 15, czas zabicia = 120, i killsig = 9.
Zarządzanie życiem polecenia w systemie Linux
Monitorowanie poleceń i przejmowanie kontroli nad procesami staje się ważne, jeśli Twój komputer z systemem Linux ma ograniczone zasoby. Narzędzia, takie jak limit czasu i limit czasu, ratują życie, ponieważ pozwalają dodawać ograniczenia czasowe do poleceń.
Podobnie jak w czasie wykonywania poleceń, możesz również ograniczyć czas ekranu systemu. Jeśli jesteś rodzicem, który nie chce, aby Twoje dziecko marnowało niepotrzebnie czas przed komputerem, ograniczenie czasu spędzanego przed ekranem jest najbardziej odpowiednim wyborem.
Oprogramowanie do kontroli rodzicielskiej jest praktycznie niespotykane w systemie Linux. Oto kilka sposobów blokowania witryn i zarządzania treścią w systemie Linux.
Czytaj dalej
- Linux
- Linux
Deepesh jest młodszym edytorem Linuksa w MUO. Treści informacyjne pisze w internecie od ponad 3 lat. W wolnym czasie pisze, słucha muzyki i gra na gitarze.
Zapisz się do naszego newslettera
Dołącz do naszego biuletynu, aby otrzymywać wskazówki techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Jeszcze jeden krok…!
Potwierdź swój adres e-mail w wiadomości e-mail, którą właśnie wysłaliśmy.