2017年7月17日 / 236次阅读
Linux命令
自然情况下,我们在Linux的terminal窗口里输入一个命令,回车执行,命令打印出结果,执行结束,命令提示符再次出现。这样的执行方式叫做前台执行。
Linux命令的前台执行很常用,但是有个问题,就是在命令执行过程中,我们不能输入其它的命令,如果想并行做一些其它的事情,只能再开一个新的terminal窗口。
另外一种执行Linux命令的方式叫做后台执行,方法很简单,就是在命令后面加上一个&:
命令格式:command &
我们可以通过输入Ctrl+z这个组合,来暂停前台正在执行的命令;
(Ctrl+c是终止任务)
然后通过jobs这个命令,可以查看所有暂停以及后台执行的命令;
jobs命令会显示所有命令的编号,
fg N #将第N个命令的执行放到前台;
bg N #将第N个命令的执行放到后台。
一个vim的应用场景:
当你用vim编写代码时,如果需要用shell执行别的操作,但是你又不打算关闭vim已经打开的文件,因为你得存盘退出。这时,你就可以简单的按下Ctrl+z,shell会将vim进程挂起,当你结束了那个shell操作之后,你可以用fg命令继续vim你的文件。
注意事项:
1, 打印特别多的命令,如果放到后台执行,该打印的依然会打印,因此,后台执行更适合那些打印很少的命令或任务;
2, 关闭当前的shell窗口(logout退出),不管进程在前台或后台,进程都会被关闭。(要想实现logout后,进程依然保持运行,需要使用nohup命令)
本文链接:https://www.maixj.net/ict/linux-fg-bg-15998
《Linux命令的前台或后台执行》有2条留言
前一篇:独立博客的商业模式
后一篇:天南话投资
-->只要几分钟回答问卷,就能轻松赚现金!
©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。
这种前后台运行切换命令的模式,也叫做monitor,是bash的一个特性,通过set -m,或set +m来控制。通过echo $-可以查看当前Bash启动了那些选项。一般interactive shell启动的是himBH,非interactive bash启动的是hB。 [ ]
A shell allows execution of GNU commands, both synchronously and asynchronously. The shell waits for synchronous commands to complete before accepting more input; asynchronous commands continue to execute in parallel with the shell while it reads and executes additional commands. [ ]