Λειτουργικά συστήματα

Γνώση Υπολογιστών >> Λειτουργικά συστήματα >  >> Unix

Για ποια είναι η εντολή παγίδευσης στο UNIX;

Η εντολή `trap` στο UNIX χρησιμοποιείται για το σήματα χειρισμού , τα οποία είναι ασύγχρονα γεγονότα που μπορούν να διακόψουν μια τρέχουσα διαδικασία. Τα σήματα χρησιμοποιούνται για την ειδοποίηση μιας διαδικασίας διαφόρων γεγονότων, όπως:

* Σήματα τερματισμού: Αυτά τα σήματα αποστέλλονται σε μια διαδικασία για να τερματίσουν, για παράδειγμα, `sigint` (διακοπή) ή` sigterm` (τερματισμό).

* Σήματα σφάλματος: Αυτά τα σήματα αποστέλλονται σε μια διαδικασία για να υποδείξουν ένα σφάλμα, για παράδειγμα, `sigsegv` (παραβίαση τμηματοποίησης).

* Άλλα σήματα: Υπάρχουν διάφορα άλλα σήματα, όπως το `sigusr1` και το` sigusr2 ', τα οποία μπορούν να χρησιμοποιηθούν για προσαρμοσμένους σκοπούς.

Πώς λειτουργεί το `trap`

Η εντολή `trap` σας επιτρέπει να καθορίσετε ποιες ενέργειες πρέπει να ληφθούν όταν λαμβάνεται ένα συγκεκριμένο σήμα με μια διαδικασία. Έχει την ακόλουθη σύνταξη:

`` `bash

Σήμα εντολής παγίδευσης

`` `

* `command` :Αυτή είναι η εντολή ή η ακολουθία εντολών που θα εκτελεστούν όταν ληφθεί το καθορισμένο σήμα.

* `signal` :Αυτός είναι ο αριθμός σήματος ή το όνομα που θέλετε να παγιδεύσετε.

Παραδείγματα

1. Χειρισμός `sigint` (διακοπή):

`` `bash

Η παγίδα "Echo" διέκοψε! Έξοδος ... "; έξοδος 'int

`` `

Αυτό θα εκτυπώσει το μήνυμα "Διακοπή! Έξοδος ..." και έπειτα βγείτε από το σενάριο όταν πιέζεται το "Ctrl+C` (που στέλνει το σήμα" Sigint`).

2. αγνοώντας το `sigquit` (quit):

`` `bash

παγίδα 'quit

`` `

Αυτό θα αγνοήσει το σήμα `sigquit` (συνήθως αποστέλλεται από το` ctrl+\ `) και θα αποτρέψει το τερματισμό του σεναρίου.

3. Εκτέλεση σεναρίου καθαρισμού:

`` `bash

Trap 'Cleanup.sh' Έξοδος

`` `

Αυτό θα εκτελέσει το σενάριο `cleanup.sh` όταν βγαίνει η διαδικασία, ανεξάρτητα από τον λόγο τερματισμού.

Σημαντικές σημειώσεις:

* Η εντολή `trap` επηρεάζει μόνο την τρέχουσα διαδικασία κελύφους.

* Εάν θέλετε να χειριστείτε τα σήματα σε μια παιδική διαδικασία, πρέπει να χρησιμοποιήσετε `Trap` μέσα σε αυτή τη διαδικασία παιδιών.

* Μπορείτε να χρησιμοποιήσετε την επιλογή `-l` με` TRAP` για να απαριθμήσετε όλα τα διαθέσιμα σήματα.

Συνοπτικά, το `TRAP` παρέχει έναν ισχυρό μηχανισμό για το χειρισμό των σημάτων και τον έλεγχο της συμπεριφοράς των σεναρίων UNIX σε απάντηση σε διάφορα γεγονότα.

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα