За системните администратори, които отговарят за контрола на Linux сървърите, управлението на ресурсите е важна задача, за която трябва да се погрижат. Понякога командите на Linux заемат огромна част от системните ресурси и трябва да бъдат спрени.

За щастие можете да ограничите времето на изпълнение на вашите команди, като използвате помощни програми като краен срок. В тази статия ще обсъдим защо трябва да добавите времеви ограничения към вашите команди и как да добавите ограничение за време, като използвате команди като timelimit и timeout.

Защо да ограничаваме времето на изпълнение на командата?

Има няколко причини, поради които може да се наложи да изпълнявате командите си с ограничение във времето. Първо, може да използвате по-стар компютър или сървър и не искате системата ви да губи ресурсите си при нежелана обработка.

Второ, сроковите задачи като прехвърляне на файлове приключват след определен период, но техните процеси не спират веднага. За да ограничите програмата да отнема допълнително време и памет на процесора, можете да добавите ограничение, което ще спре процеса, след като прехвърлянето завърши.

instagram viewer

Добавете ограничение с помощта на командата за изчакване

Командата за изчакване е първият избор от много потребители на Linux, които добавят ограничение във времето към своите команди. Тъй като този инструмент е част от Основни помощни програми на GNU пакет, той е предварително инсталиран на почти всяка дистрибуция на Linux.

Основният синтаксис на командата за изчакване е:

команда за ограничение на времето за изчакване

...където граница е времето, през което командата трябва да работи и команда е командата на Linux, която искате да изпълните с ограничение във времето.

Например, ако искате да получите подробности за процеса с помощта на Горна част команда за 10 секунди:

таймаут 10 секунди отгоре

Най-горната команда е безкрайна и трябва ръчно да я напуснете с помощта на Ctrl + C. Гореспоменатата команда ще работи отгоре за 10 секунди и след като таймерът изтече, времето за изчакване ще спре изпълнението му. Имайте предвид, че времето за изчакване отнема секунди като единица време по подразбиране, което означава 10 и 10 секунди са същите.

Можете също да използвате м, з, и д за минути, часа, и дни съответно.

Изпращайте ръчно сигнали за убийство с изчакване

По подразбиране командата за изчакване изпраща SIGTERM като сигнал за убиване. SIGTERM означава Прекратяване на сигнала, което прекратява незабавно процеса.

Можете да изпращате и други сигнали, като използвате флаг. Например, за да изпратите сигнала SIGKILL:

изчакване -s SIGKILL 10 отгоре

Възможно е също да се посочи сигналът с неговия номер на сигнала. Следващата команда изпраща сигнала SIGKILL и до горната команда.

изчакване -s 9 10 отгоре

...където 9 е номерът на сигнала за SIGKILL.

За да получите списък с всички налични сигнали:

убий -л

Някои команди не спират напълно дори след добавяне на ограничение във времето. В такива ситуации добавянето на сигнал за убиване с командата за изчакване по подразбиране решава проблема.

таймаут -k 15 10 отгоре

Гореспоменатата команда първо ще изпълни горната команда за 10 секунди и ако командата не спре, тя ще изпрати сигнал за убиване на процеса след 15 секунди.

Научете повече: Как да убиете програми, които не реагират в Linux

Ограничаване на времето за изпълнение на командата с timelimit

За разлика от командата timeout, timelimit не е един от стандартните пакети, които се предлагат предварително инсталирани на дистрибуции на Linux. Следователно ще трябва ръчно да инсталирате timelimit на вашата система.

За да инсталирате на дистрибуции, базирани на Debian:

sudo apt инсталирайте timelimit

Timelimit не е наличен в официалните хранилища на Arch. Но можете да го инсталирате с помощта на AUR мениджър на пакети като да.

sudo yay -S timelimit

Свързани: Как да инсталирате пакети на Arch Linux

За да инсталирате на Fedora:

sudo dnf инсталирайте timelimit

На RHEL и CentOS:

sudo yum инсталиране на време

Като алтернатива, ако все още не можете да инсталирате пакета на вашата система, изтеглете изходния код от официалния уебсайт и го инсталирайте ръчно.

Изтегли: краен срок

За да стартирате горната команда за 10 секунди, като използвате timelimit:

timelimit -t10 отгоре

Timelimit приема множество аргументи като време на работа, warnsig, Време за убиване, и killsig. Ако потребителят не предостави тези аргументи, се вземат стойностите им по подразбиране, които са време на работа = 3600 секунди, warnsig = 15, време за убиване = 120, и killsig = 9.

Управление на живота на една команда в Linux

Наблюдението на командите и поемането на контрол над процесите става важно, ако вашата Linux машина има ограничени ресурси. Помощни програми като timeout и timelimit са спасител, тъй като ви позволяват да добавяте ограничения във времето към вашите команди.

Подобно на изпълнението на командите, вие също можете да ограничите времето на използване на екрана на вашата система. Ако сте родител, който не иска детето ви да губи ненужно време пред компютъра, ограничаването на времето на екрана е най-подходящият избор.

електронна поща
5 начина за блокиране на сайтове и ограничаване на времето на екрана на Linux

Софтуерът за родителски контрол е практически нечуван за Linux. Ето няколко начина за блокиране на сайтове и управление на съдържание в Linux.

Прочетете Напред

Свързани теми
  • Linux
  • Linux
За автора
Дийпеш Шарма (47 статии публикувани)

Deepesh е младши редактор за Linux в MUO. Той пише информационно съдържание в интернет повече от 3 години. В свободното си време той обича да пише, да слуша музика и да свири на китара.

Още от Deepesh Sharma

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!

Още една стъпка…!

Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.

.