Πώς να πάρετε μια λίστα με τα προγράμματα που εκτελούνται με nohup

ψήφοι
43

Είμαι πρόσβαση σε ένα διακομιστή που εκτελεί CentOS (διανομή linux) με μια σύνδεση SSH. Δεδομένου ότι δεν μπορεί πάντα να παραμένετε συνδεδεμένοι, μπορώ να χρησιμοποιήσω «nohup [εντολή] και» για την εκτέλεση προγραμμάτων μου.

Δεν μπόρεσα να βρω πώς να πάρετε μια λίστα με όλα τα προγράμματα που άρχισα να χρησιμοποιώ nohup. «Θέσεις εργασίας» λειτουργεί μόνο πριν αποσυνδεθείτε. Μετά από αυτό, αν μπορώ να συνδεθώ ξανά, η εντολή θέσεων εργασίας μου δείχνει τίποτα, αλλά μπορώ να δω στα αρχεία καταγραφής μου ότι τα προγράμματα μου είναι ακόμη σε εξέλιξη.

Είναι ένας τρόπος για να πάρετε μια λίστα με όλα τα προγράμματα που άρχισα να χρησιμοποιώ «nohup» εκεί;

Δημοσιεύθηκε 29/05/2013 στις 07:37
χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
17

Αντί nohup, θα πρέπει να χρησιμοποιήσετε screen. Αυτό επιτυγχάνει το ίδιο αποτέλεσμα - οι εντολές σας τρέχουν «ανεξάρτητο». Ωστόσο, μπορείτε να συνεχίσετε συνεδρίες οθόνη και να πάρει πίσω στο τους «κρυφό» τερματικό και δείτε την πρόσφατη πρόοδο μέσα σε αυτό το τερματικό.

screenέχει πολλές επιλογές. Τις περισσότερες φορές μπορώ να χρησιμοποιήσω αυτά:

Για να ξεκινήσετε την πρώτη συνεδρία της οθόνης ή να αναλάβει τις πιο πρόσφατες αποσπαστούν από:

screen -Rd 

Για να αφαιρέσετε από την τρέχουσα περίοδο λειτουργίας: Ctrl+ACtrl+D

Μπορείτε επίσης να ξεκινήσετε πολλαπλές οθόνες - διαβάστε τις docs.

Απαντήθηκε 29/05/2013 στις 07:48
πηγή χρήστη

ψήφοι
4

Δεν μπορείτε ακριβώς να πάρετε μια λίστα με τις εντολές που ξεκίνησε με nohup, αλλά μπορείτε να τους δείτε μαζί με άλλες διαδικασίες σας, χρησιμοποιώντας την εντολή ps x. Εντολές ξεκίνησε με nohup, θα έχουν ένα ερωτηματικό στη στήλη TTY.

Απαντήθηκε 29/05/2013 στις 07:50
πηγή χρήστη

ψήφοι
6

Αν έχετε standart ανακατεύθυνση εξόδου «nohup.out» απλά δείτε που χρησιμοποιούν αυτό το αρχείο

lsof | grep nohup.out
Απαντήθηκε 29/05/2013 στις 08:21
πηγή χρήστη

ψήφοι
58

Όταν άρχισα με $ nohup storm dev-zookeper,

Μέθοδος1: χρήση jobs,

[email protected]:/home/vmfest# jobs -l
[1]+ 11129 Running                 nohup ~/bin/storm/bin/storm dev-zookeeper &

Method2: χρησιμοποιώντας psτην εντολή.

$ ps xw
PID  TTY      STAT   TIME COMMAND
1031 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1
10582 ?        S      0:01 [kworker/0:0]
10826 ?        Sl     0:18 java -server -Dstorm.options= -Dstorm.home=/root/bin/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dsto
10853 ?        Ss     0:00 sshd: vmfest [priv] 

Στήλη TTY με ?=> nohupπρογράμματα που εκτελούνται.

Περιγραφή

  • στήλη TTY = το τερματικό συνδέεται με τη διαδικασία
  • στήλη STAT = κατάσταση μιας διαδικασίας
    • S = διακοπτόμενη ύπνου (αναμονή για ένα γεγονός για να ολοκληρωθεί)
    • l = είναι multi-threaded (χρησιμοποιώντας CLONE_THREAD, όπως NPTL Pthreads κάνουμε)

Αναφορά

$ man ps # Στη συνέχεια αναζήτηση /PROCESS STATE CODES

Απαντήθηκε 25/06/2014 στις 17:08
πηγή χρήστη

ψήφοι
1

Μπορείτε επίσης απλά να χρησιμοποιήσετε την εντολή top και το όνομα χρήστη σας θα δείχνουν τις θέσεις εργασίας σε λειτουργία και τους χρόνους τους.

$ top

(Αυτό θα δείξει όλες τις τρέχουσες θέσεις εργασίας)

$ top -U [user ID]

(Αυτό θα δείξει τις θέσεις εργασίας που είναι ειδικά για την ταυτότητα χρήστη)

Απαντήθηκε 24/09/2014 στις 06:30
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more