Metti un processo in background senza fermarlo - (ctrl + z)?


16

Se avvio un processo digitandolo normalmente nella riga di comando, ad esempio

wget http://site.com/bigfile.zip

e poi decido che voglio spostarlo sullo sfondo, so che posso usare qualcosa del genere ctrl+ze poi bg 1(o jobsprima se necessario per ottenere l'ID) per metterlo in background.

La mia domanda è se esiste un modo per spostare un lavoro dal primo piano direttamente allo sfondo senza interromperlo, come ctrl+zfarebbe un'altra scorciatoia oltre a quella.

Mi rendo anche conto che posso aggiungere &alla fine del comando originale per avviarlo in background, ma la domanda riguarda quando si avvia un processo in primo piano e poi si rende conto che si desidera spostarlo in background.

Risposte:


14

Sì, assolutamente: screen (1) è la risposta.

Per iniziare, aggiungi screen -Ra ~ / .bash_profile o equivalente, disconnetti e riconnetti.

Per continuare ciò che è in esecuzione in background, premi Ctrl-A quindi N. In questo modo verrà creato un nuovo schermo terminale in primo piano, continuando senza interruzioni il processo in esecuzione sullo sfondo.

Premi Control-A quindi "per ottenere un elenco interattivo di schermate che hai aperto, oppure premi Control-A quindi un numero per passare direttamente a una schermata specifica.

Il requisito originale era di poter spostare un processo in background senza interromperlo. Lo schermo ha due vantaggi aggiuntivi e questi sono enormi se ti piace fare più cose contemporaneamente:

  1. Puoi passare da un processo all'altro in modo molto più fluido che usando Control-Z, bg, fg, ecc.
  2. Se la sessione del terminale viene disconnessa, i processi (come wget http://example.com/bigfile.iso) NON verranno chiusi! Tutte le sessioni della shell saranno lì ad aspettarti quando ti riconnetti.

Per maggiori informazioni, leggi la manpage dello schermo (1) o il Manuale dello schermo GNU .


1
Assicurati solo di aver screenprima installato il pacchetto :)
George Tasioulis,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.