Για διαχειριστές συστήματος που είναι υπεύθυνοι για τον έλεγχο των διακομιστών Linux, η διαχείριση πόρων είναι ένα σημαντικό έργο που πρέπει να αναλάβει. Μερικές φορές, οι εντολές Linux καταλαμβάνουν ένα τεράστιο κομμάτι πόρων συστήματος και πρέπει να σταματήσουν.

Ευτυχώς, μπορείτε να περιορίσετε το χρόνο εκτέλεσης των εντολών σας χρησιμοποιώντας βοηθητικά προγράμματα όπως προθεσμία. Σε αυτό το άρθρο, θα συζητήσουμε γιατί πρέπει να προσθέσετε χρονικά όρια στις εντολές σας και πώς να προσθέσετε ένα χρονικό περιορισμό χρησιμοποιώντας εντολές όπως το χρονικό όριο και το χρονικό όριο.

Γιατί να περιορίσετε το χρόνο εκτέλεσης μιας εντολής;

Υπάρχουν διάφοροι λόγοι για τους οποίους ίσως χρειαστεί να εκτελέσετε τις εντολές σας με χρονικό όριο. Πρώτον, ενδέχεται να εκτελείτε έναν παλαιότερο υπολογιστή ή διακομιστή και δεν θέλετε το σύστημά σας να σπαταλά τους πόρους του σε ανεπιθύμητη επεξεργασία.

Δεύτερον, οι χρονικά δεσμευμένες εργασίες όπως οι μεταφορές αρχείων ολοκληρώνονται μετά από μια ορισμένη περίοδο, αλλά οι διαδικασίες τους δεν σταματούν αμέσως. Για να περιορίσετε το πρόγραμμα από τη λήψη πρόσθετου χρόνου και μνήμης CPU, μπορείτε να προσθέσετε ένα όριο που θα σταματήσει τη διαδικασία μόλις ολοκληρωθεί η μεταφορά.

instagram viewer

Προσθήκη ορίου χρησιμοποιώντας την εντολή χρονικού ορίου

Η εντολή χρονικού ορίου είναι η πρώτη επιλογή πολλών χρηστών Linux που προσθέτουν περιορισμό χρόνου στις εντολές τους. Δεδομένου ότι αυτό το εργαλείο είναι μέρος του Κύρια βοηθητικά προγράμματα GNU πακέτο, έρχεται προεγκατεστημένο σε σχεδόν κάθε διανομή Linux.

Η βασική σύνταξη της εντολής χρονικού ορίου είναι:

εντολή ορίου χρονικού ορίου

...όπου όριο είναι ο χρόνος που πρέπει να εκτελεστεί η εντολή και εντολή είναι η εντολή Linux που θέλετε να εκτελέσετε με χρονικό όριο.

Για παράδειγμα, εάν θέλετε να λάβετε λεπτομέρειες της διαδικασίας χρησιμοποιώντας το μπλουζα εντολή για 10 δευτερόλεπτα:

ανώτατο όριο 10s

Η κορυφαία εντολή δεν τελειώνει ποτέ και πρέπει να την κλείσετε χειροκίνητα χρησιμοποιώντας Ctrl + C. Η προαναφερθείσα εντολή θα εκτελεστεί για 10 δευτερόλεπτα και μόλις τελειώσει ο χρονοδιακόπτης, το χρονικό όριο θα σταματήσει την εκτέλεση του. Λάβετε υπόψη ότι απαιτείται χρονικό όριο δευτερόλεπτα ως προεπιλεγμένη μονάδα χρόνου, που σημαίνει 10 και 10 δευτ είναι τα ίδια.

Μπορείτε επίσης να χρησιμοποιήσετε Μ, η, και ρε Για λεπτά, ώρες, και μέρες αντίστοιχα.

Μη αυτόματη αποστολή σημάτων Kill με χρονικό όριο

Από προεπιλογή, η εντολή timeout στέλνει το SIGTERM ως σήμα kill. Το SIGTERM σημαίνει Τερματισμός σήματος, που τερματίζει αμέσως τη διαδικασία.

Μπορείτε επίσης να στείλετε άλλα σήματα χρησιμοποιώντας το -μικρό σημαία. Για παράδειγμα, για να στείλετε το σήμα SIGKILL:

χρονικό όριο -s SIGKILL 10 κορυφή

Είναι επίσης δυνατός ο προσδιορισμός του σήματος με τον αριθμό σήματος. Η ακόλουθη εντολή στέλνει επίσης το σήμα SIGKILL στην κορυφαία εντολή.

timeout -s 9 10 κορυφή

...όπου 9 είναι ο αριθμός σήματος για το SIGKILL.

Για να λάβετε μια λίστα με όλα τα διαθέσιμα σήματα:

σκοτώσω

Ορισμένες εντολές δεν σταματούν εντελώς ακόμη και μετά την προσθήκη χρονικού ορίου. Σε τέτοιες περιπτώσεις, η προσθήκη ενός σήματος kill με την προεπιλεγμένη εντολή χρονικού ορίου διορθώνει το πρόβλημα.

χρονικό όριο -k 15 10 κορυφή

Η προαναφερθείσα εντολή θα εκτελέσει πρώτα την κορυφαία εντολή για 10 δευτερόλεπτα και εάν η εντολή δεν σταματήσει, θα στείλει ένα σήμα kill στη διαδικασία μετά από 15 δευτερόλεπτα.

Μάθε περισσότερα: Πώς να σκοτώσετε προγράμματα που δεν ανταποκρίνονται στο Linux

Περιορισμός χρόνου εκτέλεσης εντολών με χρονικό όριο

Σε αντίθεση με την εντολή timeout, το timelimit δεν είναι ένα από τα τυπικά πακέτα που είναι προεγκατεστημένα σε διανομές Linux. Επομένως, θα πρέπει να εγκαταστήσετε χειροκίνητα το χρονικό όριο στο σύστημά σας.

Για εγκατάσταση σε διανομές που βασίζονται στο Debian:

sudo apt εγκατάσταση χρονικού ορίου

Το Timelimit δεν είναι διαθέσιμο στα επίσημα αποθετήρια Arch. Όμως, μπορείτε να το εγκαταστήσετε χρησιμοποιώντας έναν διαχειριστή πακέτων AUR ναι.

sudo yay -S χρονικό όριο

Σχετιζομαι με: Πώς να εγκαταστήσετε πακέτα στο Arch Linux

Για εγκατάσταση στο Fedora:

sudo dnf εγκατάσταση χρονικού ορίου

Στο RHEL και το CentOS:

sudo yum εγκατάσταση χρονικού ορίου

Εναλλακτικά, εάν εξακολουθείτε να μην μπορείτε να εγκαταστήσετε το πακέτο στο σύστημά σας, κατεβάστε τον πηγαίο κώδικα από τον επίσημο ιστότοπο και εγκαταστήστε το μη αυτόματα.

Κατεβάστε: προθεσμία

Για να εκτελέσετε την κορυφαία εντολή για 10 δευτερόλεπτα χρησιμοποιώντας χρονικό όριο:

timelimit -t10 κορυφή

Το Timelimit παίρνει πολλά επιχειρήματα όπως προειδοποίηση, προειδοποίηση, σκότωμα της ώρας, και Killsig. Εάν ο χρήστης δεν παρέχει αυτά τα ορίσματα, θα ληφθούν οι προεπιλεγμένες τιμές τους, οι οποίες είναι warntime = 3600 δευτερόλεπτα, warnsig = 15, killtime = 120, και killsig = 9.

Διαχείριση της ζωής μιας εντολής στο Linux

Η παρακολούθηση των εντολών και ο έλεγχος των διαδικασιών καθίστανται σημαντικές εάν ο υπολογιστής Linux έχει περιορισμένους πόρους. Βοηθητικά προγράμματα, όπως το χρονικό όριο και το χρονικό όριο, είναι ένα σωτήριο ζωής, καθώς σας επιτρέπουν να προσθέσετε χρονικούς περιορισμούς στις εντολές σας.

Όπως και ο χρόνος εκτέλεσης εντολών, μπορείτε επίσης να περιορίσετε τον χρόνο οθόνης του συστήματός σας. Εάν είστε γονέας που δεν θέλει το παιδί σας να σπαταλήσει περιττό χρόνο μπροστά από έναν υπολογιστή, ο περιορισμός του χρόνου της οθόνης είναι η πιο κατάλληλη επιλογή.

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
5 τρόποι αποκλεισμού ιστότοπων και περιορισμός του χρόνου οθόνης σε Linux

Το λογισμικό γονικού ελέγχου είναι σχεδόν άγνωστο στο Linux. Ακολουθούν διάφοροι τρόποι με τους οποίους μπορείτε να αποκλείσετε ιστότοπους και να διαχειριστείτε περιεχόμενο σε Linux.

Διαβάστε Επόμενο

Σχετικά θέματα
  • Linux
  • Linux
Σχετικά με τον Συγγραφέα
Deepesh Sharma (Δημοσιεύθηκαν 47 άρθρα)

Ο Deepesh είναι ο Junior Editor για Linux στο MUO. Γράφει ενημερωτικό περιεχόμενο στο Διαδίκτυο για πάνω από 3 χρόνια. Στον ελεύθερο χρόνο του, του αρέσει να γράφει, να ακούει μουσική και να παίζει κιθάρα.

Περισσότερα από τον Deepesh Sharma

Εγγραφείτε στο Newsletter μας

Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Ένα ακόμη βήμα…!

Επιβεβαιώστε τη διεύθυνση email σας στο email που μόλις σας στείλαμε.

.