5 πραγματικές υποθέσεις που έγιναν επεισόδια στην 10η εντολή (Μέρος Α') - Blackbird
Πίνακας περιεχομένων:
- Πώς να χρησιμοποιήσετε την εντολή nohup
- Εκτέλεση της εντολής στο παρασκήνιο
- Ανακατεύθυνση εξόδου σε αρχείο
- Εναλλακτικές λύσεις
- Οθόνη
- Tmux
- Αποκηρύσσω
- συμπέρασμα
Η εντολή
nohup
εκτελεί ένα άλλο πρόγραμμα που καθορίζεται ως όρισμα και αγνοεί όλα τα σήματα
SIGHUP
(hangup).
SIGHUP
είναι ένα σήμα που αποστέλλεται σε μια διαδικασία όταν το τερματικό του ελέγχου είναι κλειστό.
Συνήθως, όταν εκτελείτε ένα πρόγραμμα μέσω SSH, εάν η σύνδεσή σας πέσει ή αποσυνδεθείτε, η περίοδος σύνδεσης τερματίζεται και όλες οι διεργασίες που εκτελούνται από το τερματικό θα σταματήσουν. Αυτό είναι όπου η εντολή
nohup
έρχεται βολική. Αγνοεί όλα τα σήματα hangup και η διαδικασία θα συνεχίσει να τρέχει.
Πώς να χρησιμοποιήσετε την εντολή nohup
Η σύνταξη για την εντολή
nohup
έχει ως εξής:
nohup COMMAND
Η εντολή δεν δέχεται άλλες επιλογές εκτός από τις τυπικές
--help
και
--version
.
Ας ρίξουμε μια ματιά στο ακόλουθο παράδειγμα:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
τρέχει την εντολή
mycommand
στο προσκήνιο και ανακατευθύνει την έξοδο εντολών στο αρχείο
nohup.out
. Αυτό το αρχείο δημιουργείται στον τρέχοντα κατάλογο εργασίας. Εάν ο χρήστης που εκτελεί την εντολή δεν διαθέτει δικαιώματα εγγραφής στον κατάλογο εργασίας, το αρχείο δημιουργείται στον οικείο κατάλογο του χρήστη.
Εάν αποσυνδεθείτε ή κλείσετε το τερματικό, η διαδικασία δεν τερματίζεται.
Εκτέλεση της εντολής στο παρασκήνιο
Η χρήση του
nohup
στο προσκήνιο δεν είναι πολύ χρήσιμη επειδή δεν θα μπορείτε να αλληλεπιδράσετε με το κέλυφος μέχρι να ολοκληρωθεί η εντολή.
Για να εκτελέσετε την εντολή στο παρασκήνιο, προσθέστε το σύμβολο
&
στο τέλος της εντολής:
nohup mycommand &
Η έξοδος περιλαμβάνει το αναγνωριστικό εργασίας του κελύφους (που περιβάλλεται με παρενθέσεις) και αναγνωριστικό διαδικασίας:
25177
Μπορείτε να χρησιμοποιήσετε το ID της εργασίας για να μεταφέρετε την εντολή στο προσκήνιο χρησιμοποιώντας την εντολή
fg
.
Αν για κάποιο λόγο θέλετε να τερματίσετε τη διαδικασία, χρησιμοποιήστε την εντολή
kill
ακολουθήστε την ταυτότητα διαδικασίας:
Ανακατεύθυνση εξόδου σε αρχείο
Από προεπιλογή, το
nohup
ανακατευθύνει την έξοδο εντολών στο αρχείο
nohup.out
. Εάν θέλετε να ανακατευθύνετε την έξοδο σε ένα διαφορετικό αρχείο, χρησιμοποιήστε την τυπική ανακατεύθυνση κελύφους.
Για παράδειγμα, για να ανακατευθύνετε την τυπική έξοδο και το τυπικό σφάλμα στο
mycommand.out
θα χρησιμοποιούσατε:
nohup mycommand > mycommand.out 2>&1 &
Για να ανακατευθύνετε την τυπική έξοδο και το τυπικό σφάλμα σε διαφορετικά αρχεία:
nohup mycommand > mycommand.out 2> mycommand.err &
Εναλλακτικές λύσεις
Υπάρχουν πολλά εναλλακτικά προγράμματα που μπορείτε να χρησιμοποιήσετε για να αποφύγετε την τερματισμό μιας εντολής όταν κλείνετε το τερματικό ή αποσυνδεθείτε.
Οθόνη
Οθόνη οθόνης ή GNU είναι ένα πρόγραμμα τερματικού πολυπλέκτη το οποίο σας επιτρέπει να ξεκινήσετε μια συνεδρία οθόνης και να ανοίξετε οποιοδήποτε αριθμό παραθύρων (εικονικά τερματικά) μέσα σε αυτή την περίοδο λειτουργίας. Οι διεργασίες που εκτελούνται στην οθόνη θα συνεχίσουν να εκτελούνται όταν το παράθυρο τους δεν είναι ορατό ακόμη και αν αποσυνδεθείτε.
Tmux
Το Tmux είναι μια σύγχρονη εναλλακτική λύση για την οθόνη GNU. Με το Tmux, μπορείτε επίσης να δημιουργήσετε μια περίοδο σύνδεσης και να ανοίξετε πολλά παράθυρα μέσα σε αυτή την περίοδο σύνδεσης. Οι συνεδρίες Tmux είναι συνεχείς, πράγμα που σημαίνει ότι τα προγράμματα που εκτελούνται στο Tmux θα συνεχίσουν να εκτελούνται ακόμη και αν κλείσετε το τερματικό.
Αποκηρύσσω
disown
είναι ένα ενσωματωμένο κέλυφος που αφαιρεί μια εργασία κελύφους από τον έλεγχο της λειτουργίας του κελύφους. Σε αντίθεση με το
nohup
, μπορείτε επίσης να χρησιμοποιήσετε
disown
στις τρέχουσες διαδικασίες.
συμπέρασμα
nohup
σάς επιτρέπει να αποτρέψετε την διακοπή εντολών όταν αποσυνδέεστε ή εξέρχεστε από το τερματικό.
Το Facebook κατέθεσε αγωγή εναντίον του Wallace και δύο άλλους άνδρες το Φεβρουάριο για προγράμματα spamming και phishing μέσω του ιστότοπου κοινωνικής δικτύωσης. Την επόμενη εβδομάδα, ο δικαστής Fogel εξέδωσε προσωρινή εντολή περιορισμού που απαγορεύει στο Wallace και σε δυο άλλους υποτιθέμενους spammers, Adam Arzoomanian και Scott Shaw, να έχουν πρόσβαση στο δίκτυο του Facebook.
Ένα πρόβλημα με το αίτημα της Ceglia ότι το συμβόλαιό του χρονολογείται από το 2003 είναι ότι ο Zuckerberg δεν είχε ακόμη καταχωρήσει τον αρχικό τομέα του Facebook, το facebook. com, μέχρι τις 11 Ιανουαρίου 2004, σύμφωνα με το καλά ερευνημένο βιβλίο του δημοσιογράφου David Kirkpatrick, The Effect Facebook. Ωστόσο, το βιβλίο του Kirkpatrick λέει ότι ο Zuckerberg άρχισε να αναπτύσσει το Facebook σε κάποιο σημείο από τα τέλη του 2003 έως τις αρχές του 2004.
Παρόλο που δεν είναι σαφές πόσο πειστικές είναι τα αποδεικτικά στοιχεία της Ceglia, κατάφερε να η μεταφορά των περιουσιακών στοιχείων του Facebook.
Στο PCWorld κατασκευάζουμε ψηφιακές εκδόσεις των εκδόσεων περιοδικών μας για τα τελευταία 10 χρόνια. Αλλά τα περισσότερα από αυτά τα χρόνια, οι ψηφιακές εκδόσεις ήταν διαθέσιμες μόνο σε μορφή PDF-πρώτα μέσω του Zinio, αργότερα μέσω του Amazon Kindle και του Barnes και του Noble Nook και πιο πρόσφατα μέσω του Google Play - ως ακριβή αντίγραφα του
PCWorld







