切断した後も実行を続けるには、プロセスを切断する必要がありますか?

切断した後も実行を続けるには、プロセスを切断する必要がありますか?

disown接続を切断した後もジョブを実行し続けるには、なぜ必要なのか、なぜ必要なのかを説明できますか?

私がこの質問をする理由は、私が訪問したすべてのウェブサイトで使用するように言われていますが、それdisown自体bgbg私にとって効果的であり、その理由を知りません。

まだその目的を完全に理解していないからですか、それともコマンドのデフォルト動作にdisown影響を与えるいくつかの設定がありますか?bg

これが私がしたことです:

  • SSH経由でCentOS 6システムに接続
  • 簡単なプロセスを作成しました。

    tar zcvf example.tar.gz ./examplepath > /dev/null 2>&1
    
  • ジョブが一時停止しました

  • バックグラウンドで復元するbg 1
  • SSHサーバーから切断する

その後、FTPを介してファイルサイズがまだ増加していることを確認しましたが.tar.gz、そうでした。

ベストアンサー1

バックグラウンドで実行されているプロセスはbg通常、&次の2つの状況で終了します。

  1. シェルはSIGHUPを受け取ります。
  2. 彼らはもう存在しない端末に書き込もうとします。

項目#1は端末を閉じたときの犯人である。しかし、それが起こるかどうかは次のものです。どのように端末を閉じます。次の方法でドラッグできます。

  1. たとえば、ウィンドウマネージャで「X」をクリックします。
  2. exitlogoutまたはCTRL+を入力できますD

アイテム#1を使用すると、SIGHUPが送信されます。 #2 いいえ。

簡単に言えば、バックグラウンドプロセスを使用してからbg、または+を使用してログアウトすると、プロセスは終了しません。exitlogoutCTRLD

おすすめ記事