关闭终端后如何保持应用程序继续运行?

关闭终端后如何保持应用程序继续运行?

我是 Ubuntu 新手。我使用过 Sublime Text。我发现从终端打开 Sublime Text 后,如果我关闭终端,应用程序仍会继续运行。其他应用程序则不是这样geany

从终端打开应用程序后,关闭终端时应用程序也会关闭。我尝试过&exit类似方法geany &exit。但这不是我想要的。

geany我关闭它之后怎样才能继续运行?

答案1

编辑:这可能只适用于某些类型的终端。最好disown在启动命令后再运行一个命令,如下所示,以便应用程序与终端窗口分离。


在终端窗口中输入

nohup geany > /dev/null
disown

或者

nohup geany >/dev/null &
disown

nohup允许应用程序运行且不受挂断的影响,因此关闭终端窗口不会对正在运行的应用程序产生影响。将 添加到命令中可防止在运行应用程序的每个目录中>/dev/null创建。nohup.out

从手册页中:

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您可以使用 shell 内置命令disowndisown从作业列表中删除作业,并且当 shell 存在时,SIGHUP不会发送到该进程。

geany &
disown
exit

答案3

exec geany & exit如果您不需要 root 并且pkexec geany & exit需要 root 权限,则可以使用(请注意 exec 和 & 符号)。

相关内容