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命令直接在后台运行程序,并将输出重定向到文件中。这些方法在不同的情况下,可以根据需要选择合适的方式来转移到后台执行程序并关闭终端。
猜您想看
-
如何使用Hyperledger Fabric开发ERC20标准的代币
概述Hyper...
2023年07月23日 -
如何开启Mysql慢查询日志
1. 配置慢查...
2023年07月23日 -
如何看待java注解
什么是Java...
2023年07月22日 -
如何在 CentOS 7 上设置定时任务?
CentOS ...
2023年04月24日 -
怎么配置Mybatis CRUD
配置MyBat...
2023年07月23日 -
JVM虚拟机中Class文件的常量池是什么
1. 概述JV...
2023年05月26日