Linux的bg和fg命令

我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux 提供了 fg 和 bg 命令,让我们轻松调度正在运行的任务。
假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示(方括号中的是作业号):

命令如下

ubuntu@clarence:~& top   //按下ctrl + z
[1]+  Stopped                 top
ubuntu@clarence:~$ jobs //查看后台任务
[1]+  Stopped                 top
ubuntu@clarence:~$ fg 1 //在前台运行

浅谈Ctrl-z

我们都知道kill命令可以杀死进程,但是实际上kill是给程序发送信号,信号是操作系统与程序之间进行通信时所采用的几种方式中的一种(最近阅读的操作系统概念中也提到了。)
在使用Ctrl-z和Ctrl-c,终端接受了其中一个按键组合,会给前端运行的程序发送一个信号。使用Ctrl-c的情况下,会发送一个叫做INT的信号;当使用Ctrl-z时,则发送一个叫做TSTP(Terminal Stop终端停止)的信号。程序监听到信号的到来,做出响应。


kill也可以给进程发送信号,下面看看可以发送的信号有哪些:

ubuntu@clarence:~$ kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

命令小结:

&和&&:
在运行的指令末尾添加"&"可以让命令在后台运行
command1 && command2表示前者执行成功,执行后台命令


bg和fg命令:
如果发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,就可以用Ctrl-z可以挂起这个程序 []中的是作业号,然后我们可以把程序调度到后台执行: bg 作业号


fg 将后台中的命令调至前台继续运行
bg 将一个在后台暂停的命令,变成继续执行


ctrl+z 可以将一个正在前台执行的命令放到后台,并且暂停


jobs 查看当前有多少在后台运行的命令 []里面是序号,不是pid


  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youaresherlock

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值