zoukankan      html  css  js  c++  java
  • Linux

    1. 概述

      1. jobs, fg, bg
    2. 背景

      1. 之前好像说过, 要讲 jobs
        1. 结果一直鸽到现在
        2. vim - 执行 shell 命令& 与 nohup, 都提到过这个东西
      2. 老老实实开始写吧
    3. 环境

      1. OS

        1. win10
      2. git-bash

        1. mintty-3.4.0
    4. 类型

      1. 这是一篇 教程类 的博客

    1. 问题: 想查看后台的任务

    1. 概述

      1. rt
    2. 场景

      1. 使用了 & 或者 nohup &
      2. 或者使用了 ctrl + z
    3. 需求

      1. 查看
        1. 想看看都哪些任务被放到后台了
      2. 唤起
        1. 重新把任务拉回到前台
      3. 结束
        1. 直接把任务结束了

    2. jobs

    1. 概述

      1. jobs
    2. jobs

      1. 概述

        1. linux 查看后台作业的工具
      2. 使用

        # 1. 直接查看
        > jobs
        
        ## 结果
        [1]-  Stopped                 vim chpt05.md
        [2]+  Stopped                 vim readme.md
        
        ## 1. [1] 
        ### 当前 终端下, 后台作业的 作业编号
        
        ## 2. -
        ### 这块我没找到资料, 我自己观察的初步结论...
        ### +: 表示 上一个 被放到后台的作业
        ### -: 表示 上上一个 被放到后台的作业
        
        ## 3. Stopped
        ### 状态, 这个后面会详细说
        
        ## 4. vim chpt05.md
        ### 这个是后台进程的命令
        
        # 2. 带 pid 的查看
        > jobs -l
        
        # 3. 只想看 pid
        > jobs -p
        
        # 4. 查看 stopped 状态的作业
        > jobs -s
        
        # 5. 查看 running 状态的作业
        > jobs -r
        
    3. 疑问: 状态到底是怎么回事?

      1. 问题

        1. rt
        2. 有几种状态
        3. 都是什么意思
        4. 怎么相互转化
      2. 解答

        1. 尴尬了, 我也只知道一点...
        2. 目前我只见过 3 种
          1. stopped: 已经暂停了
          2. running: 正在后台运行
          3. done: 后台执行的任务, 已经完成了; 下次再用 jobs 查看, 就看不到任务了
        3. 转化的东西, 后面再说

    3. jobs 状态转化

    1. 概述
      1. jobs 的状态转换

    1. stopped

    1. 概述

      1. stopped 状态
    2. 操作

      1. 执行前台命令
      2. ctrl + z
    3. 结果

      1. 命令被放到后台
      2. 暂停执行
      3. 状态是 stopped

    2. running

    1. 概述

      1. running 状态
    2. 操作

      1. 方案1: &

        > sleep 10 &
        
      2. 方案2: nohup &

        > nohup sleep 10 & 
        
    3. 疑问

      1. 问题1: 我想让后台暂停的程序继续运行

        1. 问题

          1. rt
        2. 解答

          1. 使用 bg 命令

            # 如果执行成功, 命令会在 后台运行
            # jobs 可以查看, 作业状态变为 runnning
            # 部分任务可能不支持, 比如 vim...
            > bg %<jobsId>
            
      2. 问题2: 后台任务执行的怎么样, 我不放心想看一看

        1. 问题

          1. rt
        2. 解答

          1. 使用 fg 命令

            # 将的任务, 拉到前台来
            > fg %<jobId>
            
      3. 问题3: 能不能让后台的 running 任务暂停?

        1. 问题

          1. rt
        2. 解答

          1. 我目前没什么好办法, 只有 先fg, 再 ctrl + z
      4. 问题4: 能不能直接把后台的任务干掉?

        1. 问题

          1. rt
        2. 解答

          1. 获得 pid 之后, 直接用 kill 解决

    ps

    1. ref
      1. bash
        1. 概述
          1. Job Control
            1. linux 后台 job 的间接
          2. jobs
            1. jobs 命令
          3. 篇幅有点长, 不太好找...
  • 相关阅读:
    111
    使用正则表达式,取得点击次数,函数抽离
    爬虫大作业
    Hadoop综合大作业
    hive基本操作与应用
    熟悉HBase基本操作
    爬虫大作业
    第三章 熟悉常用的HDFS操作
    数据结构化与保存
    用正则表达式,取得点击次数,函数抽离
  • 原文地址:https://www.cnblogs.com/xy14/p/14313958.html
Copyright © 2011-2022 走看看