美文网首页我爱编程程序员
Linux中的前台与后台运行

Linux中的前台与后台运行

作者: 学习编程王同学 | 来源:发表于2018-07-12 10:12 被阅读5次

事实上,在终端中如果对命令不加处理,那么命令会在前台运行。

然而有时候需要将编译、压缩等耗时的工作放到后台运行,这个时候只需要在命令末尾加上&即可。

$ tar -zcvf etc.tar.gz /etc > log.txt 2>&1 &
[1] 27914

Shell将命令放在后台运行,并返回了作业号1和进程号27914

需要注意的是,如果程序在后台运行,那么它将无法接受用户的输入,但是其输出将显示在屏幕上(可能用户正在进行其他工作,突然冒出了错误输出),因此在后台执行的程序需是不需要人工干预的、输出被妥善处理(比如重定向)的程序。

有的时候在程序开始运行之后,想要将程序放在后台执行,这时需要按^Z快捷键暂停程序,然后使用bg %作业号命令将其放入后台执行:

$ sleep 10
^Z
[1]+  Stopped                 sleep 10
$ jobs
[1]+  Stopped                 sleep 10
$ bg %1
[1]+ sleep 10 &
$ jobs
[1]+  Running                 sleep 10 &

可见,在按^Z后,程序进入暂停状态(Stopped),在将其放入后台后,程序继续执行(Running)。上面例子中jobs命令列出后台的程序。

当然,也可以使用fg %作业号将程序从后台移到前台:

$ jobs
[1]+  Running                 sleep 10 &
$ fg %1
sleep 10
$

最后,可以使用kill程序杀死背景中的程序:

$ kill -9 %1    # 强制结束工作号为1的程序
$ kill -15 %1   # 正常结束工作号为1的程序

相关文章

  • Linux中的前台与后台运行

    事实上,在终端中如果对命令不加处理,那么命令会在前台运行。 然而有时候需要将编译、压缩等耗时的工作放到后台运行,这...

  • Linux前台进程与后台进程的区别

    (1).Linux前台进程与后台进程的区别 前台进程:是在终端中运行的命令,那么该终端就为进程的控制终端,一旦这个...

  • 每天一个Linux命令之fg

    fg命令用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。与bg命令一样,若后台任务中只有一个,...

  • Service

    Service介绍 运行于后台,没有前台界面的组件,用于运行需要在后台运行的代码。 在Activity中开启线程下...

  • linux进程

    Linux中进程分为哪几类? ①交互进程:由一个shell启动的进程,交互进程既可以在前台运行,也可以在后台运行。...

  • RN-AppState

    ReactNative 提供了AppState 来告知 App当前状态:前台运行中、后台台运行中 1 获取当前应用...

  • linux下运行jar包连接断开继续运行

    # Linux中jar包启动和jar包后台运行 Linux 运行jar包命令如下: 方式一: ...

  • Celery项目启动、停止

    在celery文件所在目录: linux 前台启动: linux 后台启动: windows 前台启动 workr...

  • Linux前台任务转后台运行(会话中断不停止)

    适用场景 在linux系统上运行命令的时候,经常会遇到在前台运行命令想转到后台,且不希望它中断的情况(比如快到饭点...

  • centos7-守护进程

    前台任务与后台任务 写一个简单node脚本server.js 前台任务 运行命令 上面这样启动的脚本,称为"前台任...

网友评论

    本文标题:Linux中的前台与后台运行

    本文链接:https://www.haomeiwen.com/subject/smelpftx.html