この質問にはすでに回答があります :8年前に閉鎖。
Linux
重複の可能性:
実行中のプロセスの所有権を剥奪し、それを新しいスクリーンシェルに関連付けるにはどうすればよいですか?
長時間続くコマンドを起動しました。
切断する必要があったため、バックグラウンドで移動しました(CTRL+Zとbg
を使用) )終了する前に。
このようなもの:
$ my_command
***command is beeing executed and is taking a long time***
^Z
[1]+ Stopped my_command
$ bg
[1]+ my_command &
$ exit
再接続してプロセスリストにコマンドが表示されますが、fg
で回復できません 。
$ fg
-bash: fg: current: no such job
フォアグラウンドで仕事を回復するにはどうすればよいですか?
承認された回答:
すでにどこかで何かを開始し、バックグラウンドで処理し、新しい端末に接続する必要がある場合は、reptyr
を使用できます。 再度取り付けます。 (man
このページでは、コマンドを「実行中のプログラムを新しい端末に再ペアレント化する」と要約しています。)
「jobs」コマンドで表示できない、または「fg」を使用して前面に表示できないのは、これらのコマンドが実際にはシェルに組み込まれているためです。接続している端末からプロセスを技術的に切り離すことはないため、シェルを終了するときに 同様に終了します(終了しようとすると警告が表示されます)。