ターミナルを閉じた後もアプリケーションを実行し続けるにはどうすればよいですか?

ターミナルを閉じた後もアプリケーションを実行し続けるにはどうすればよいですか?

私は Ubuntu を初めて使用します。Sublime Text は使用しました。ターミナルから Sublime Text を開いた後、ターミナルを閉じてもアプリケーションは実行され続けることに気付きました。 などの他のアプリケーションでは同じことが当てはまりませんgeany

&exitターミナルからアプリケーションを開いた後、ターミナルを閉じるとアプリケーションも閉じます。のように試しましたgeany &exit。 しかし、これは私が探しているものではありません。

geany閉じた後も実行し続けるにはどうすればよいですか?

答え1

編集:これは、特定の種類の端末でのみ機能する可能性があります。disown以下のようにコマンドを開始した後、アプリケーションと端末ウィンドウの関連付けを解除するために、もう 1 つのコマンドを実行するのが最適です。


ターミナルウィンドウから次のように入力します。

nohup geany > /dev/null
disown

または

nohup geany >/dev/null &
disown

nohupにより、アプリケーションは実行され、ハングアップの影響を受けなくなるため、ターミナル ウィンドウを閉じても実行中のアプリケーションには影響しません。 コマンドに を追加すると、アプリケーションが実行されている各ディレクトリに>/dev/nullが作成されなくなります。nohup.out

man ページから:

NAME
       nohup - run a command immune to hangups, with output to a non-tty

SYNOPSIS
       nohup COMMAND [ARG]...
       nohup OPTION

そして

$ disown --help
disown: disown [-h] [-ar] [jobspec ... | pid ...]
    Remove jobs from current shell.
    
    Removes each JOBSPEC argument from the table of active jobs.  Without
    any JOBSPECs, the shell uses its notion of the current job.
    
    Options:
      -a    remove all jobs if JOBSPEC is not supplied
      -h    mark each JOBSPEC so that SIGHUP is not sent to the job if the
            shell receives a SIGHUP
      -r    remove only running jobs
    
    Exit Status:
    Returns success unless an invalid option or JOBSPEC is given.

答え2

代わりに、nohupシェル組み込みを使用することもできますdisowndisownジョブ リストからジョブを削除し、シェルが存在する場合はSIGHUPそのプロセスに送信されません。

geany &
disown
exit

答え3

exec geany & exitroot が必要ない場合やpkexec geany & exitroot 権限が必要な場合は、(exec とアンパサンドに注意してください)を使用できます。

関連情報