LoginSignup
17
17

More than 5 years have passed since last update.

コマンドがいつまでたっても終わらないときにすぐに帰る方法

Last updated at Posted at 2014-05-19

ssh等でLinuxのサーバーにターミナルでログインしているときに、大きなファイルのコピーを始めてしまったときの対処方法です。
ターミナルをそのまま閉じてしまうとログアウトしてシェルが終了してしまい、実行中のコマンドも終了してしまいます。

GNU Screenを使用している場合

迷う必要はありません。
C-a dでデタッチできます。
(コマンド文字を変更している場合はaを変えてください)

tmuxを使用している場合

迷う必要はありません。
C-b dでデタッチできます。
(プレフィックスを変更している場合はbを変えてください)

ログインしてそのままコマンドを実行してしまった場合

今回の本題です。

以下のようにすればログアウトしても処理が続行されます。

$ cp ./very_big_file.dat ./another_dir/
(C-zを押してコマンドの実行を一時停止する)
$ bg
$ jobs
$ disown %1

プロセスをバックグラウンドに持っていき、デーモン化します。
disownで指定する引数はjobsで表示されるジョブ番号の頭に%をつけます。

これで帰れますね。

ちなみにMacのcpコマンドですと、コピーの途中でC-tを押すと何%完了したか表示されます。
コピー完了の目安になりますね。

17
17
0

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
17
17