古いシェルでバックグラウンドタスクを再開するには? [コピー]

古いシェルでバックグラウンドタスクを再開するには? [コピー]

重複の可能性:
実行中のプロセスを拒否し、それを新しいスクリーンシェルに接続する方法は?

bg私は長い間続く命令を始めた。切断する必要があり、終了する前に(CTRL + Zとを使用して)背景に移動しました。

このような:

$ 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

フォアグラウンドでタスクを再開するにはどうすればよいですか?

答え1

どこかで何かを起動して背景に設定し、新しい端末に接続する必要がある場合は、次のことができます。reptyr再接続してください。 (manページには、コマンドが「実行中のプログラムを新しい端末に戻します」とまとめられています。)

「jobs」コマンドでこれを見ることができない、または「fg」を使用して前景にインポートできない理由は、これらのコマンドが実際にシェルに組み込まれているためです。技術的には、接続された端末からプロセスを分離しないので、シェルを終了するとしなければならない終了もします(終了しようとすると警告が表示されます)。

関連情報