web-dev-qa-db-ja.com

ターミナルでプログラムを実行し続ける

そのため、Nohupと、コマンドが&で終わる接尾辞を認識して、それらがバックグラウンドになるようにします。

ただし、グラフィカルアプリケーションを実行する場合は、どちらを使用してもジョブが実行されない場合があります。それでは、ターミナルが閉じられた後も実行し続けることを保証するために、プログラム/コマンドの前に何を付けることができますか?

8
Industrial

ターミナルウィンドウを閉じたときにアプリケーションを実行し続けたい場合は、以下を実行する必要があります。

Nohup chromium-browser &

Nohup&の両方が必要です。

  • Nohupは、シェルが閉じた後もこのプロセス/コマンドを実行し続けることを意味します。
  • &は、このプロセス/コマンドをバックグラウンドに配置して、シェルをブロックしないようにすることを意味します(したがって、他の目的で使用できます)。
9
Mark

&演算子を介してバックグラウンドでプログラムを実行する場合、それはまだセッションにアタッチされており、fg、bg、jobs、disownで制御できます。

私もNohupでいくつかの問題を抱えていましたが、あなたが探しているのはdisownかもしれません。

バックグラウンドでプログラムを実行すると、ジョブIDがあります。

gedit &
[1] 5647

カッコ内の数字[]は興味深いものです。セッションからデタッチするには、その番号でdisown %nを実行します。上記の例の場合:

disown %1

これで、ターミナルを安全に終了でき、プロセスは終了しません。

5
Axel

グラフィカルアプリケーションの場合、単純にこのようなことを行うと動作します(少なくとも、私にとっては)

chromium-browser&

端末アプリケーションの場合は、screenまたはtmuxのようなものを使用する必要があります。

2
jrg