quebrando de um programa em execução em uma sessão interativa em uma janela de tela

3

Estou lançando R (um programa interativo) em uma janela screen em uma sessão remota:

ssh me@..
screen -S R_ProjectName
R 

Na sessão R, gostaria de break execution. Normalmente, isso seria via ctrl + c .

No entanto, o comando está sendo enviado para screen em vez de R . Qual é a maneira correta de interromper um programa dentro de uma janela de tela?

Para esclarecer, não estou tentando eliminar o processo R . Em vez disso, ctrl + c seria usado para romper manualmente (por exemplo) um loop for .

Estou trabalhando no iTerm2 em um Mac OS X conectado ao Ubuntu 13.04

    
por Ricardo Saporta 28.10.2013 / 22:01

2 respostas

1

Para sair de R , você normalmente usa o comando q() para sair de uma instância em execução.

Exemplo

Executar R.

$ R

Sentado em um prompt R:

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

[Previously saved workspace restored]

>

Agora saia:

> q()
Save workspace image? [y/n/c]: n
$

Quebrando um comando R em execução

Se você executar algo em R e quiser abortá-lo, Ctrl + C geralmente é o caminho para fazer isso. Se isso não funcionar, você pode querer tentar Ctrl + \ .

Se nenhum dos trabalhos acima, você pode ter sorte ao tentar enviar um sinal para o processo R em execução.

$ kill -USR1 <pid of R>
-or-
$ pkill -USR1 R

O segundo formulário matará todos os processos R em execução, mas evita que você precise procurar o PID.

Referências

por 28.10.2013 / 22:50
-1

Você pode obter um ID de processo executando ps -A | grep R e, em seguida, kill pid .

    
por 28.10.2013 / 22:06

Tags