Linux前台的程序如何转到后台执行并且关闭终端而不杀死命令
如何将Linux前台程序转到后台执行并关闭终端而不杀死命令?
1. 使用Ctrl+Z暂停程序
在终端中运行的前台程序,可以使用Ctrl+Z组合键将其暂停。这将使该程序停止在运行状态,并且会返回一个控制台提示符,让你继续输入其他命令。
^Z
2. 使用bg命令将程序转到后台
一旦程序被暂停,可以使用bg命令将其转移到后台执行。
bg [job_id]
如果只有一个前台作业被暂停,可以省略job_id参数。
例如,如果你有一个名为"myprogram"的前台程序暂停,可以使用以下命令将其转移到后台执行:
bg
3. 使用disown命令使程序脱离终端
当一个程序被转移到后台执行后,关闭终端将会终止该程序。为了防止这种情况发生,可以使用disown命令使程序脱离终端。
disown [options] [job_id]
如果只有一个后台作业,可以省略job_id参数。可以使用以下选项:
-a
: 对于所有的作业,忽略它们的继承标志。-r
: 删除与作业相关联的目录。-h
: 在退出shell时保留作业。
例如,使用以下命令将之前转移到后台执行的"myprogram"脱离终端:
disown
4. 使用nohup命令运行程序
另一种方法是使用nohup命令运行程序,这将使程序在后台持续执行,即使终端被关闭。
nohup [command]
通过在命令前加上"nohup",程序将以忽略挂断(SIGHUP)信号的方式运行,并将输出重定向到当前目录下的"nohup.out"文件中。
例如,运行名为"myprogram"的程序:
nohup myprogram
总结:
在Linux中,可以使用Ctrl+Z暂停前台程序,并使用bg命令将其转移到后台执行。使用disown命令使程序脱离终端,从而可以关闭终端而不会终止程序。另一种方法是使用nohup命令直接在后台运行程序,并将输出重定向到文件中。这些方法在不同的情况下,可以根据需要选择合适的方式来转移到后台执行程序并关闭终端。
猜您想看
-
如何在 Win8 系统中打开任务管理器
如何在 Win...
2023年04月15日 -
数据清洗常用的2个小trick分别是什么
1. 字符替换...
2023年05月25日 -
java怎么在给定的数组里面寻找重复数
一、定义在给定...
2023年05月26日 -
如何清理Windows系统垃圾文件
随着Windo...
2023年05月12日 -
spark 3.0中如何实现查询计划
1、什么是查询...
2023年05月22日 -
php如何实现表单正则验证及文件上传验证功能
一、表单正则验...
2023年07月22日