Spostamento di un process già in esecuzione su Screen

Il mio lavoro di ufficio mi vede abitualmente collegato a una casella Linux tramite VNC.

A volte avvio un lavoro remoto sulla console e in seguito capisco che funziona molto più del previsto. (Doveva aver iniziato quella sotto Screen in primo luogo …)

  • La directory mtime cambia sempre quando un nuovo file viene creato dentro?
  • Apache e file aperti
  • Automatizzare l'abilitazione e la distriggerszione di servizi specifici per le windows di manutenzione brevi
  • Come aggiungere un utente di linux con una password random o non valida da uno script
  • Dove dovrei vivere la mia partizione di swap / s quando si utilizza il software RAID1? Prestazione? LVM?
  • La migliore distro di Linux per i bilancieri del carico?
  • Non voglio mantenere la mia workstation in esecuzione durante la notte solo per mantenere aperta la session VNC; Vorrei spostare quel lavoro remoto già in esecuzione in una session di schermo (sulla casella remota), in modo da poter distriggersre la workstation (e riconnettersi la mattina successiva).

    Come può essere fatto, se a tutti?

  • Pacemaker tra Centos 5 e Centos 6
  • Pensi che Java sul tuo server Linux sia un problema?
  • C'è un modo per ls -l con come un'opzione -f (come tail -f)?
  • Dare l'authorization di lettura / scrittura dei file di gruppo a un utente
  • Può dpkg verificare i file da un pacchetto installato?
  • Posso fare un command ctrl-z senza bloccare il process?
  • 3 Solutions collect form web for “Spostamento di un process già in esecuzione su Screen”

    Date un'occhiata a reptyr , che fa esattamente questo. La pagina github ha tutte le informazioni.

    reptyr – Uno strumento per programmi di "re-ptying".

    reptyr è un'utility per prendere un programma in esecuzione esistente e collegarlo ad un nuovo terminal. Ha iniziato un process di lunga durata per ssh, ma deve andare e non vuole interromperlo? Basta avviare uno schermo, utilizzare reptyr per afferrarlo, quindi uccidere la session ssh e tornare a casa.

    USO

    reptyr PID

    "PID reptyr" afferra il process con id PID e lo si collega al terminal corrente.

    Dopo aver collegato, il process prenderà l'input e scriverà l'output al nuovo terminal, tra cui ^ C e ^ Z. (Sfortunatamente, se lo precedete, dovrai ancora eseguire "bg" o "fg" nel vecchio terminal, probabilmente imansible risolvere in modo ragionevole senza patchare la shell.)

    Non puoi farlo facilmente. Vorrei suggerire di rendere l'abitudine di avviare lo schermo come la prima cosa che fai dopo aver aperto una console.

    Tuttavia, per il tuo problema reale, c'è un'altra cosa che potresti provare: dopo aver lanciato il tuo lavoro dal terminal, fai da background digitando ctrl-z e poi bg . Dopo di che, staccare il lavoro dal suo gestore padre; in bash avrebbe disown -h %<jobid> . Dopo di che, è ansible chiudere in modo sicuro il terminal e il lavoro continuerà a funzionare.

    Come stai utilizzando Linux, che dire di usare il retty all'interno del process di screening appena avviato?

     $ screen -S my_process $ retty $(pgrep my_process) /redraw 

    HTH

    Saluti,

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.