Come ottenere un elenco dei programmi in esecuzione con nohup

voti
43

Sto accede a un server in esecuzione CentOS (distribuzione Linux) con una connessione SSH. Dal momento che non sempre riesco a rimanere connesso, io uso nohup [comando] & per eseguire i miei programmi.

Non riuscivo a trovare il modo per ottenere una lista di tutti i programmi ho iniziato ad usare nohup. posti di lavoro funziona solo prima di eseguire il logout. Dopo di che, se accedo di nuovo, il comando di posti di lavoro mi mostra nulla, ma posso vedere nei miei file di log che i miei programmi sono ancora in esecuzione.

C'è un modo per ottenere un elenco di tutti i programmi che ho iniziato ad usare nohup?

È pubblicato 29/05/2013 alle 07:37
dall'utente
In altre lingue...                            


5 risposte

voti
17

Invece di nohup, si dovrebbe usare screen. Si ottiene lo stesso risultato - i comandi sono in esecuzione "distaccato". Tuttavia, è possibile riprendere le sessioni dello schermo e tornare nel loro terminale "nascosto" e vedere i recenti progressi dentro quel terminale.

screenha un sacco di opzioni. Il più delle volte io uso questi:

Per avviare la prima sessione di schermo o di prendere in consegna dei più recenti staccato uno:

screen -Rd 

Per staccare dalla sessione corrente: Ctrl+ACtrl+D

È anche possibile avviare più schermi - leggere la documentazione.

Risposto il 29/05/2013 a 07:48
fonte dall'utente

voti
4

Non si può esattamente ottenere una lista di comandi è iniziato con nohup, ma è possibile vederli insieme agli altri processi utilizzando il comando ps x. I comandi iniziato con nohupavrà un punto interrogativo nella colonna TTY.

Risposto il 29/05/2013 a 07:50
fonte dall'utente

voti
6

Se si dispone di reindirizzamento uscita standart a "nohup.out" basta vedere che usano questo file

lsof | grep nohup.out
Risposto il 29/05/2013 a 08:21
fonte dall'utente

voti
58

Quando ho iniziato con $ nohup storm dev-zookeper,

Metodo 1: utilizzando jobs,

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

Method2: usando psil comando.

$ 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] 

Colonna TTY con ?=> nohupprogrammi in esecuzione.

Descrizione

  • colonna TTY = terminale associato con il processo
  • colonna STAT = stato di un processo
    • S = sonno interrompibile (in attesa di un evento per il completamento)
    • l = è multi-thread (usando CLONE_THREAD, come pthreads NPTL fanno)

Riferimento

$ man ps # Quindi cercare /PROCESS STATE CODES

Risposto il 25/06/2014 a 17:08
fonte dall'utente

voti
1

È anche possibile utilizzare il comando superiore e l'ID utente indicherà i processi in esecuzione e dei loro tempi.

$ top

(Questo mostrerà tutti i processi in esecuzione)

$ top -U [user ID]

(Questo mostrerà i lavori che sono specifici per l'ID utente)

Risposto il 24/09/2014 a 06:30
fonte dall'utente

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