LoginSignup
11
15

More than 5 years have passed since last update.

ssh先でログアウトしてもプロセスを終了させずにバックグラウンド実行したい!

Last updated at Posted at 2017-11-08

ssh先でもバックグラウンド実行したい! :punch:

小ネタ
通常ssh先でプロセスを実行した際、sshのセッションが切れると実行中のコマンドも終了する。
デーモン化をサポートしてるプログラムならデーモンにすれば良いんだけど、pingとかは無理
何個か方法探したので備忘録。
環境:ubuntu 16.04 LTS

方法

:one: &をつける

一番簡単でシンプルなな方法。

例えば〜pingのログを記録する時。

~
$ ping 8.8.8.8 > log.txt &
[1] 5395

これだけ。簡単。終了する時は適当にkillコマンド送ってあげよう。

~
$ kill 5395
[1]  + terminated  ping 8.8.8.8 > log.txt

ついでにまとめて何コマンドが実行する時はこういう感じで()で包む

~
$ (sleep 10; print hoge;)%

:two: nohupを使う

これも古典的な方法。標準出力が保存される。

~
$ nohup ping 8.8.8.8
nohup: 入力を無視し、出力を 'nohup.out' に追記します

:three: screenを使う

上記二つだと上手く対応出来ないようなグラフィカルなCUIを提供するアプリでもおなじみのscreenなら大丈夫。

例えばtopコマンド

~
$ screen top

とりあえずこれだけでバックグラウンド実行が可能。
screenの使い方は先人のステキな記事を読むと幸せになれる。
screenのコマンドの備忘録

refs.

http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230850/
https://www.codereading.com/nb/ignore-the-hangup-signal.html
screenのコマンドの備忘録

11
15
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
15