2012-12-31 26 views
5

Sto lavorando su CentOS6, e l'esecuzione di un server di Django per il mio sviluppo su una sessione tmux come:Come portare un programma in background mettere in primo piano

pitone manage.py runserver 0.0.0.0:8000

Così posso leggere la mia stringa di debug stampata su di esso.

Mentre c'è una ragione sconosciuta che ha reso la mia sessione tmux persa, e non posso eseguire il bak alla mia sessione di lavoro usando il comando "tmux attach".

Posso ancora trovare il mio server è in esecuzione da comando ps, ma non ho il permesso di uccidere questo per poter eseguire un nuovo server sulla stessa porta.

Quindi, desidero richiamare nuovamente questo server backgound.

Come non uso mai ctrl + z o altri modi per eseguire lo sfondo del processo, quindi anche io uso il comando job, non ci sono lavori.

ma non so se posso fare questo, e come farlo ...

Grazie a tutti !!

+1

Hai provato 'fg'? – Blender

+0

non ci sono lavori. non ho mai usato + z per far tornare il mio programma in esecuzione, quindi fg non funziona. – nevesly

+0

Mi dispiace che sia colpa mia se dimentico che il mio ambiente di sviluppo è una macchina virtuale su un PC, quindi in realtà il server è ancora in esecuzione sul mio PC di sviluppo. Ma dubito che perché posso trovare le informazioni del server in esecuzione quando sto usando ps sul computer host della macchina virtuale? – nevesly

risposta

1

È possibile utilizzare il comando jobs per ottenere un elenco dei lavori, poi si può usare fg <number of job> per portare quel lavoro in primo piano.

+1

non ci sono lavori. Non ho mai usato + z o altro modo per farlo funzionare in background, quindi fg non funziona! – nevesly

10

Utilizzare il comando jobs per trovare l'elenco di processi in background avviati dall'utente. per esempio: c'è uno script che dorme semplicemente per 10 secondi in 5 iterazioni. Lo ho eseguito 4 volte in background.

>jobs 
[1] + Running      ./temp.sh 
[2] - Running      ./temp.sh 
[3] Running      ./temp.sh 
[4] Running      ./temp.sh 

fg è il comando per riportarlo in primo piano come illustrato di seguito.

>fg 1 
[CTRL -c] 

come visto sopra ho terminato il processo e non esiste più. Ora, se io corro di nuovo jobs

>jobs 
[2] + Running      ./temp.sh 
[3] Running      ./temp.sh 
[4] - Running      ./temp.sh 
> 

Inoltre è possibile controllare here per più

+1

Mi dispiace, il comando di lavoro non può funzionare sui miei problemi. – nevesly

Problemi correlati