web-dev-qa-db-ja.com

Linuxで実行中のプロセスに戻した後、バックグラウンドに戻します

別のアプリケーションでプロセスを生成しました。私はそれがで実行されていることがわかります:

ps -ef

コンソールにコマンドを入力して手動で開始したかのように、そのプロセスに切り替えるにはどうすればよいですか?

19
Frank Vilea

現在のシェルから開始した場合は、標準のジョブ制御を使用します。

$ jobs

$ gedit &
[1] 3341

$ jobs
[1]+  Running                 gedit &

$ fg %1
gedit
29
Fredrik Pihl

基本的に、現在のシェルの子であるジョブ制御、つまり、作業しているシェルによって開始されたジョブでのみプロセスを管理できます。現在のシェルでプロセスを開始してバックグラウンドで実行した場合は、fgおよびその他のジョブ制御オプションが機能します。そうでない場合、シェルでジョブを管理することはできません。

最もよく使用される「回避策」(実際にはシェルよりもはるかに強力)はGNU screenです。

6
thiton