Se você fechar o emacs, o processo R será eliminado. Para mantê-lo funcionando, separe sua sessão de tela sem fechar o emacs. Eu acho que isso está vinculado a C-a d
por padrão.
No seu exemplo, você começa abrindo screen
em um terminal:
screen
Em seguida, inicie o emacs, usando -nw
para executá-lo no modo de texto:
emacs -nw
Se você tiver o ESS instalado, inicie o R via M-x R
. Se você está apenas executando-o em um shell (por que? Usar o ESS!), Faça isso.
Agora comece sua análise. Por exemplo:
for(i in 1:100){
Sys.sleep(5)
print(i)
}
Agora, desanexe a sessão com C-a d
. Agora você pode fechar seu terminal e até mesmo fazer logoff do seu computador - mas não o desligue! Quando você quiser ver como seu trabalho está, abra outro terminal, chame a tela com o sinalizador -r
:
screen -r
E você verá que sua sessão R, dentro do Emacs, ainda está funcionando:
> Sys.sleep(4)
> for(i in 1:100){
+ Sys.sleep(5)
+ print(i)
+ }
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
Desde que você deixe o emacs e R em execução, e desconecte (mas não feche) a tela, e não desligue o computador, isso é tudo que você precisa.