「画面」でemacsを実行し続けるには? emacsでバッファを終了するとプロセスも終了しますか? [閉鎖]

「画面」でemacsを実行し続けるには? emacsでバッファを終了するとプロセスも終了しますか? [閉鎖]

私はいくつかのRコードを実行するためにRセッションを使用しています。

まず、シェルを開き、screen画面セッションを開始するために何かを入力してからemacs -nw

RRで始まり、次のコードを実行するとします。> source("script.R")

このセッションを終了してこのRコードを実行し続けるにはどうすればよいですか?screenバッファを使用して終了するとC-x kセッションも終了しますか?

ベストアンサー1

emacsが閉じると、Rプロセスは終了します。引き続き実行するには、emacsを閉じずにscreenセッションを切断してください。私はこれが C-a dデフォルトだと思います。

あなたの例では、まずscreen端末で開きます。

screen

その後、emacsを起動し、-nw次のようにテキストモードで実行します。

emacs -nw

ESSがインストールされている場合は、を介してM-x RRを起動します。シェルで実行している場合(なぜ?ESSを使用してください!)の代わりにこれを実行してください。

今分析を始めましょう。たとえば、

for(i in 1:100){
  Sys.sleep(5)
  print(i)
}

今度は別のセッションを使用してくださいC-a d。端末を閉じたり、コンピュータからログアウトしたりすることもできます。しかし、閉じないでください!タスクがどのように進行しているかを確認するには、-r次のフラグを使用して別の端末を開き、画面を呼び出します。

screen -r

Emacs内でRセッションがまだ実行されていることがわかります。

> 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

EmacsとRを実行し続け、画面を外し(閉じない)、コンピュータをシャットダウンしないでください。それがすべてです。

おすすめ記事