美文网首页
7、shell环境下的工作管理

7、shell环境下的工作管理

作者: zhaylon | 来源:发表于2019-03-04 23:57 被阅读0次

当我们打开一个shell终端进行操作时,经常会遇到这种情况:

  • 正在Vim编辑器中编辑脚本,但此时需要查询某个指令的参数用法。

这时该怎么操作?一般我们会想到再打开一个终端,或者先退出Vim编辑器,等查询完成后再重新编辑脚本。但是,能否在不退出编辑器的情况下,在这一个shell环境中完成?通过工作管理就可以达到。

在bash中,可以通过在前景中和背景中执行工作,而在背景中的工作状态有暂停运行两种状态。前景指在bash中用户可以在提示符后边输入指令进行交互的环境; 背景即我们常说的在后台运作的工作。

工作控制指令:

  1. 【Ctrl+z】
     此命令使当前工作处于背景中暂停状态,以使在bash环境中执行其它工作。此命令即可解决前面我们遇到的情况,即让Vim在背景中暂停,以在前景中执行查询命令。

  2. 指令结尾处+&
     在指令结尾处加&,可以直接让当前工作处于背景中执行。例如:【vim script.sh &】,执行该命令后,会显示出此背景工作的工作号和PID。
     在背景中的工作,无法用【Ctrl+c】终止。

  3. fg
     处于背景中的工作,如何让其在前景中运行?使用 fg 命令即可。

  4. bg
     前面的【Ctrl+z】指令让当前工作处于背景中和暂停状态,而利用 【bg %工作号】可以让工作状态从暂停改为运行。

  5. jobs
     使用 jobs 命令可查看在当前bash环境中有多少工作在背景中运行。

  6. kill
     如果想直接终止背景工作的执行,使用 kill 命令。可使用【kill -signal %工作号】,其中signal常见的数字及含义如下:
      -1, 重新读取一次参数的配置文件;
      -9, 立刻强制删除一项工作;
      -15, 以正常方式终止一项工作。

相关文章

网友评论

      本文标题:7、shell环境下的工作管理

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