リモートサーバーのジョブが思ったよりも長時間かかってしまいログアウトできない。 nohup コマンドは知っているんだけど、あとから nohup できる方法を知らない。

そんなときは bash の disown コマンドを使うと、指定のジョブに SIGHUP が送られないようにすることができます。

実行中のジョブを

  1. ctrl+z で一時停止する
  2. bg でバックグラウンドで実行する
  3. disown -h [jobspec]

jobspec は %1 のようにジョブ番号を指定します。ジョブ番号は jobs コマンドで確認してください。

これでリモートサーバからログアウトしてもジョブが継続されます。


最終更新日: 2014年02月01日(土) / カテゴリー: Unix, Linux


Back to top