Linux的bg和fg命令

我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。而 Linux 提供了 fg 和 bg 命令,让我们轻松调度正在运行的任务。

假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示(方括号中的是作业号):
[1]+ Stopped /root/bin/rsync.sh
然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)
#bg 1
[1]+ /root/bin/rsync.sh &
用 jobs 命令查看正在运行的任务:
#jobs
[1]+ Running /root/bin/rsync.sh &
如果想把它调回到前台运行,可以用
#fg 1
/root/bin/rsync.sh
这样,你在控制台上就只能等待这个任务完成了。

fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的
一。& 最经常被用到
这个用在一个命令的最后,可以把这个命令放到后台执行
二。ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
三。jobs
查看当前有多少在后台运行的命令
四。fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
五。bg
将一个在后台暂停的命令,变成继续执行
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)


这篇看明白了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,fork、fgbg是一些与进程相关的命令和概念。 首先,fork是一个系统调用,用于创建一个新的进程。当我们执行fork命令时,操作系统会复制当前的进程,并在内存中创建一个完全相同的新进程。新的进程称为子进程,而原有的进程则称为父进程。子进程会继承父进程的代码、数据、打开的文件等资源,但是会有自己的独立副本。 接下来是fgbg这两个命令,它们通常是与作业控制相关的。在Linux系统中,我们可以在命令行运行多个进程,这些进程称为作业。当我们在前台运行一个作业时(例如运行一个程序),我们会发现终端被该作业占用,并且只有在该作业执行完毕后,我们才能继续输入命令。 但是,有时候我们希望将一个作业在后台运行,而不占用终端。这时候就可以使用bg命令。例如,我们可以运行一个程序,并在命令行输入"prog &",程序将在后台运行,而不会锁住终端。 fg命令则用于将一个后台运行的作业切换到前台运行。例如,我们可以使用"bg %1"将编号为1的后台作业切换到前台运行。切换到前台的作业将显示在终端,并且我们可以与其进行交互。 总结来说,fork是创建子进程的系统调用,fg用于将后台作业切换到前台运行,bg则是将前台作业切换到后台运行。这些命令和概念在Linux系统中是非常有用的,可以方便地控制和管理进程的运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值