Linux前台的程序如何转到后台执行并且关闭终端而不杀死命令
如何将Linux前台程序转到后台执行并关闭终端而不杀死命令?
1. 使用Ctrl+Z暂停程序
在终端中运行的前台程序,可以使用Ctrl+Z组合键将其暂停。这将使该程序停止在运行状态,并且会返回一个控制台提示符,让你继续输入其他命令。
^Z2. 使用bg命令将程序转到后台
一旦程序被暂停,可以使用bg命令将其转移到后台执行。
bg [job_id]如果只有一个前台作业被暂停,可以省略job_id参数。
例如,如果你有一个名为"myprogram"的前台程序暂停,可以使用以下命令将其转移到后台执行:
bg3. 使用disown命令使程序脱离终端
当一个程序被转移到后台执行后,关闭终端将会终止该程序。为了防止这种情况发生,可以使用disown命令使程序脱离终端。
disown [options] [job_id]如果只有一个后台作业,可以省略job_id参数。可以使用以下选项:
-a: 对于所有的作业,忽略它们的继承标志。-r: 删除与作业相关联的目录。-h: 在退出shell时保留作业。
例如,使用以下命令将之前转移到后台执行的"myprogram"脱离终端:
disown4. 使用nohup命令运行程序
另一种方法是使用nohup命令运行程序,这将使程序在后台持续执行,即使终端被关闭。
nohup [command]通过在命令前加上"nohup",程序将以忽略挂断(SIGHUP)信号的方式运行,并将输出重定向到当前目录下的"nohup.out"文件中。
例如,运行名为"myprogram"的程序:
nohup myprogram总结:
在Linux中,可以使用Ctrl+Z暂停前台程序,并使用bg命令将其转移到后台执行。使用disown命令使程序脱离终端,从而可以关闭终端而不会终止程序。另一种方法是使用nohup命令直接在后台运行程序,并将输出重定向到文件中。这些方法在不同的情况下,可以根据需要选择合适的方式来转移到后台执行程序并关闭终端。
猜您想看
-
如何使用LEDE 路由器进行远程播放?
使用LEDE路...
2023年04月17日 -
SQL Server怎么将已分区表转换成普通表
一、概述SQL...
2023年05月26日 -
C++11新特性有哪些
1. 自动类型...
2023年07月04日 -
如何在Linux中安装与使用Git版本控制工具?
Linux是一...
2023年04月15日 -
Springboot如何整合Spring Cloud Kubernetes读取ConfigMap
整合Sprin...
2023年07月04日 -
Hadoop1.0的示例分析
一、Hadoo...
2023年05月26日