端末でプログラムを実行し続ける


8

そのため、nohupコマンド&がバックグラウンドに入るようにするために、コマンドをよく認識し、接尾辞を付けています。

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

回答:


9

ターミナルウィンドウを閉じたときにアプリケーションを実行し続けたい場合は、次のようにします。

nohup chromium-browser &

あなたは両方必要nohup&

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

5

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

nohupにもいくつか問題がありましたが、disownがあなたが探しているものかもしれません。

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

gedit &
[1] 5647

角かっこ[]内のその数は興味深いものです。セッションから切り離すには、disown %nその番号で実行します。上記の例の場合:

disown %1

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


2

グラフィカルアプリケーションの場合、このようなことをするだけでうまくいくはずです(少なくとも、私にとってはうまくいきます)

chromium-browser&

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


ターミナルを閉じた後も実行し続ける必要があるため、これは機能しません。screen / tmuxを提案するための+1。
gertvdijk

@gertvdijk興味深いです。GUIアプリケーションの場合、私にとってはうまくいきます。bashを使用してテストしただけです。zshがそれを行って終了しようとすると文句を言う場合がありました...
jrg

私はKonsoleを使用していて、それにKateを&追加して実行していました。ケイトはコンソーレを閉鎖した後、引き続き閉鎖します。
gertvdijk

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.