Go Back   Το UNIX και Linux Forums > Top Forums > UNIX για Ανδρείκελα Ερωτήσεις & Απαντήσεις
.
Google Site



UNIX για Ανδρείκελα Ερωτήσεις & Απαντήσεις Αν δεν είστε σίγουροι από πού να τοποθετήσει ένα UNIX ή Linux ερώτηση, μετά το εδώ. Όλα τα UNIX και Linux Newbies ευπρόσδεκτες!!

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Εργαλεία Θέματος Αναζήτηση αυτό το νήμα Βαθμολογήστε Νήμα Display Modes
  #1 (Permalink)  
Old 11-06-2008
Εγγεγραμμένος χρήστης
 

Εγγραφή: Νοέμβριος 2008
Θέσεις: 5
Τα σήματα ...

(αυτό δημοσιεύτηκε στις scripting φόρουμ, καθώς, αλλά κατάλαβα ότι πρέπει να πάει εδώ) Λοιπόν, τι συμβαίνει είναι το εξής:

Για το πρόγραμμά μας, είχαμε να δημιουργήσουμε το δικό μας κέλυφος, και όταν ο χρήστης πατήσει ctrl-γ μόνο στο cmdline, τότε αυτό το μήνυμα θα ήταν να αγνοηθεί, αλλά αν υπάρχει μια νέα διαδικασία που κινείται, ας πούμε, "sleep 10", και Ctrl-C ήταν πατημένο, τότε η διαδικασία αυτή θα πρέπει να λυθεί ... Ωστόσο, το πρόβλημά μου βρίσκεται μέσα σε πλαίσιο διαδικασιών ... όταν πατήστε ctrl-γ μετά την εκτέλεση κάτι σαν "sleep 10 &", όπου η '&' δείχνει ότι είναι ένα πλαίσιο διαδικασίας που χρησιμοποιεί το σωστό, αν μου SIGINT_handler υποκατάστημα, αλλά τερματίζει τη διαδικασία .... κι έτσι είναι σίγουρα κάτι λάθος, είτε με τον χειριστή, ή η τοποθέτηση του σήματος.

Τι δεν παίρνω είναι ... αν το ctrl-c στη γραμμή εντολών δεν κλείσετε το πρόγραμμα, γιατί θα την καταγγείλει διαδικασία ιστορικό μου; Μήπως επειδή η διαδικασία μητρική βάζει μόνο το ctrl-γ επάνω διαδικασίες παιδί; Αν ναι, υπάρχει ένας τρόπος για να προσθέσετε κάτι για να SIGINT_handler μου για να το αγνοήσει αυτό το μήνυμα;

**** Επιτρέψτε μου να πω ότι έχω επιτυχία ήταν σε θέση να αγνοήσει το σήμα για μια διαδικασία υπόβαθρο, αλλά αυτό τον τρόπο δεν χρησιμοποιεί SIGINT_handler μου, που θέλω είναι να χρησιμοποιήσετε κάποιο κείμενο έτσι γίνεται εκτύπωση. Ο τρόπος που μιλάω του χρησιμοποιεί μόνο "σήμα (SIGINT, SIG_IGN)", αλλά, όπως είπα, δεν χρησιμοποιεί SIGINT_handler μου ...


Αυτό μου SIGINT_handler:

άκυρη SIGINT_handler (int sig)
(
εάν (foreground_pid \u003d\u003d 0)
(
fprintf (stderr, "\ nSIGINT αγνοήθηκε \ n")?
)
άλλος
(
kill (foreground_pid, SIGINT)?
foreground_pid \u003d 0?
)
)


Και στη συνέχεια, όταν εγκαταστήσετε το χειριστή / σήμα, χρησιμοποιώ σήμα (SIGINT, SIGINT_handler) και επίσης να foreground_pid στο αντίστοιχο σημείο της ... έτσι αν κάποιος μπορεί να βοηθήσει, ότι προτίθεστε να είναι φοβερό, και αν θέλετε να δείτε περισσότερα κώδικα ή μερικά πράγματα είναι ασαφή, ρωτήστε. Ευχαριστώ.
Sponsored Links
Closed Thread

Σελιδοδείκτες

Εργαλεία Θέματος Αναζήτηση αυτό το νήμα
Αναζήτηση αυτό το νήμα:

Advanced Search
Display Modes Βαθμολογήστε αυτό το νήμα
Βαθμολογήστε αυτό το νήμα:

Απόσπαση Κανονισμού
Εσύ δεν μπορεί να υστέρων νέα νήματα
Εσύ δεν μπορεί να μετά απαντήσεις
Εσύ δεν μπορεί να μετά συνημμένα
Εσύ δεν μπορεί να επεξεργαστείτε τις θέσεις

BB κωδικός είναι Σε λειτουργία
Smilies είναι Σε λειτουργία
[IMG] κωδικός Σε λειτουργία
Κώδικα HTML είναι Εκτός χρήσης
Trackbacks είναι Σε λειτουργία
Pingbacks είναι Σε λειτουργία
Refbacks είναι Εκτός χρήσης


Περισσότερα UNIX και Linux Forum Θέματα που μπορεί να σας Χρήσιμη
Νήμα Thread Starter Φόρουμ Απαντήσεις Τελευταίο μήνυμα
Χρησιμοποιώντας σήματα kapilv Προγραμματισμός 2 11-28-2008 05:56 AM
Νήματα και Σημάτων ripunjay HP-UX 0 04-03-2006 07:21 AM
Threads Σήματα uday_kumar_spl Προγραμματισμός 1 11-03-2004 03:44 AM
Σήματα σε Shell google UNIX για Advanced & Expert Χρήστες 5 03-26-2003 12:31 μμ
Σήματα σε HP-UX kapilv Προγραμματισμός 1 08-18-2001 10:58 μμ



Όλες οι ώρες είναι GMT -4. Η ώρα τώρα είναι 05:32 μμ.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Γλώσσα Μεταφράσεις Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Η UNIX και Linux Φόρουμ Content Copyright © 1993-2010. Όλα τα δικαιώματα Reserved.Ad διαχείριση από RedTyger

Περιεχόμενο σχετικό με τις διευθύνσεις URL vBSEO 3.2.0