搜索
查看: 2191|回复: 0

Linux任务前后台的切换

[复制链接]

5

主题

7

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2018-8-14 11:38:17 来自手机 | 显示全部楼层 |阅读模式
Shell支持作用控制,有以下命令实现前后台切换:
  1. command& 让进程在后台运行
  2. jobs 查看后台运行的进程
  3. fg %n 让后台运行的进程n到前台来
  4. bg %n 让进程n到后台去
      5. kill %n 杀死job
  PS:"n"为jobs命令查看到的job编号,不是进程编号.
  fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的.


一、& 最经常被用到
  这个用在一个命令的最后,可以把这个命令放到后台执行


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


三、jobs
  查看当前有多少在后台运行的命令


四、fg
  将后台中的命令调至前台继续运行
  如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。


五、bg
  将一个在后台暂停的命令,变成继续执行
  如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)。


实例:
假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,终止这个程序,然后可以看到系统提示:
[1]+ Stopped /root/bin/rsync.sh
如果没有此提示,则用 jobs 命令查看任务:
#jobs
[1]+ suspended /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
这样,你在控制台上就只能等待这个任务完成了。
16pic_1319627_b11-37-40-.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

温馨提示
1:发帖请遵守《中华人民共和国网络安全法》,发帖内容不得维护国家的、集体的、个人的利益。
2:请勿发布恶意攻击他人的技术文章、工具、和使用教程,发现后删帖处理。
3:本站的目的在于让更多的人了解网络安全,避免受到他人的恶意攻击。
4:本站中的部分文章,可能会出现一些“技术类手段”,但这仅仅为学习演示所用,而非恶意传播技术。
5:本站中的部分文章,可能转载自互联网。如有侵权行为,联系我们删除即可。
6:学习仅是充实头脑,切勿恶意攻击个人、企业等。所造成的法律后果一切由自己承担,本站及其站长概不负责。
朕知道了
快速回复 返回顶部 返回列表