目录

  • 1. 任务管理
    • 1.1 job control 的管理
      • 1.1.0 使用 & 直接将命令丢到后台中运行
      • 1.1.1 将目前的任务丢到后台中暂停:[Ctrl]+z
      • 1.1.2 查看目前的后台任务状态:jobs
      • 1.1.3 将后台任务拿到前台来处理:fg
      • 1.1.4 让任务在后台下的状态变成运行中:bg
      • 1.1.5 管理后台当中的任务:kill
    • 1.2 脱机管理问题

1. 任务管理

任务管理是用在 bash 环境中的,也就是说【当我们登录系统获取 bash shell 后,再单一终端下同时执行多个任务的操作管理】

执行 bash 的任务管理必须要注意到的限制:

  • 这些任务所触发的进程必须来自于 shell 的子进程(每个任务都是目前bash的子进程)
  • 前台:可以控制与执行命令的环境称为前台的任务
  • 后台:可自动执行的任务,无法使用 [Ctrl]+c 终止它,可使用bg、fg调用该任务
  • 后台中(bash的后台并非系统后台)执行的进程不能等待 terminal 或 shell 的输入

1.1 job control 的管理

1.1.0 使用 & 直接将命令丢到后台中运行

[root@study ~] tar -zpcf /tmp/etc.tar.gz /etc &

完成时的提示:

[1]+ Done       tar -zpcf /tmp/etc.tar.gz /etc
#[1]是job number 代表job1
# +代表最近一个被丢到后台的任务

1.1.1 将目前的任务丢到后台中暂停:[Ctrl]+z

[root@study ~] vim ~/bashrc
#按下[Ctrl]+z
[1]+   Stopped     vim ~/bashrc
[root@study ~]   #取得前台操控权

1.1.2 查看目前的后台任务状态:jobs

jobs命令主要用于显示系统中的任务列表及其运行状态

[root@study ~]  jobs [参数] [目录]
-l : 显示作业列表时包括进程号
-n : 显示上次使用jobs后状态发生变化的作业
-p : 显示作业列表时仅显示其对应的进程号
-r : 仅显示运行的(running)作业
-s : 仅显示暂停的(stopped)作业

范例:
查看目前的bash当中,所有的任务,与对应的PID

[root@study ~] jobs -l
[1]-    14566   Stopped     vim ~/bashrc
[2]+   14567   Stopped     find / -print
# -代表最近第二个被放置到后台中的任务号码
# +代表最近被放到后台的任务号码

1.1.3 将后台任务拿到前台来处理:fg

fg命令用于将后台作业(在后台运行的或者在后台挂起的作业放到前台终端运行

[root@study ~] fg [参数]
作业标识    指定要放到前台的作业标识号

fg举例:使用fg命令将任务号为1的任务从后台执行转换到前台执行:

[root@linuxcool ~] fg 1

1.1.4 让任务在后台下的状态变成运行中:bg

bg命令用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加符号&的效果是相同的,都是将其放到系统后台执行

[root@study ~] bg [参数]
作业标识    指定需要放到后台的作业标识号

bg举例:
使用bg命令将任务号为1的任务放到后台继续执行:

[root@linuxcool ~] bg 1

bg举例:
使用bg命令与在指令后面添加符号”&”的效果是一样的,使用&将find / -name password放到后台执行:

[root@linuxcool ~] find / -name password &

1.1.5 管理后台当中的任务:kill

linux系统中kill命令用来删除执行中的程序或工作
kill命令可将指定的信号发送给相应的进程或工作。 kill命令默认使用信号为15,用于结束进程或工作。如果进程或工作忽略此信号,则可以使用信号9,强制杀死进程或作业

[root@study ~] kill [参数] [进程号]
-l : 列出系统支持的信号
-s : 指定向进程发送的信号
-a : 处理当前进程时不限制命令名和进程号的对应关系
-p : 指定kill命令只打印相关进程的进程号,而不发送任何信号

范例:

[root@linuxcool ~] ps
PID TTY          TIME CMD
1951 pts/0    00:00:00 bash
2446 pts/0    00:00:00 ps
#查看bash的进程ID为1951,然后输入:
[root@linuxcool ~] kill -9 1951
# -9这个信号通常是在强制删除一个不正常的任务
# -15是以正常步骤结束一项任务(默认值)

1.2 脱机管理问题

&可以将bash的任务放置bash后台
at命令可将任务放置到系统后台

nohup命令的全称为“no hang up”,该命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。

nohup可在脱机或注销系统后,还能够让任务继续执行

[root@linuxcool ~] nohup [参数]       #在终端前台中任务
[root@linuxcool ~] nohup [参数] &    #在终端后台中任务
--help : 在线帮助
--version : 显示版本信息

使用nohup命令在后台运行程序:

[root@linuxcool ~] nohup bash linuxcool.sh &

想让终端后台的任务在你注销后还能继续执行,那使用【nohup】并搭配 & 是不错的选择

任务管理(job control)相关推荐

  1. Linux操作系统----终端设备和进程

    补充 终端设备 1 控制台 /dev/ttyn 2. 伪终端pty(pseudo-tty) 3. 串口终端 进程 process 进程与程序之间的差异 进程与程序 子进程和父进程 进程类型 进程管理 ...

  2. GTD任务管理软件:Chaos Control for Mac

    有没有mac上好用的GTD任务管理软件?chaos control mac破解版是一个任务管理器,基于由David Allen创建的GTD(Getting Things Done)方法的最佳想法.无论 ...

  3. 实践分享丨物联网操作系统中的任务管理

    今天,我们分享的内容主要是物联网操作系统中的任务管理. 在开始正式的阅读分享帖之前,按惯例,我们需要思考几个问题: 1.进程和线程,你是否了解其区别与联系? 2.什么是任务? 3.物联网操作系统中的任 ...

  4. 【UCOSIII】一、任务创建、删除、挂起、恢复、任务管理

    文章目录 0.开始之前需要知道的 1.任务创建 1.1.App.c 1.2.创建任务 1.2.1.官方main函数 1.2.2.自建main函数 1.4.任务删除 1.5.任务挂起.任务恢复 2.任务 ...

  5. 嵌入式设计---(2)任务管理与调度

    任务管理与调度 任务管理 任务状态与变迁 任务控制块 任务切换 任务切换基本步骤 任务切换的时机 任务队列 就绪队列 等待队列 任务管理机制 任务管理与调度 任务管理 任务管理是实时内核的主要工作,完 ...

  6. UCOSIII的任务管理

    文章目录 序言 相关文件概览 os_task.c文件概览 os_core.c文件概览 部分API实际应用 任务创建和删除 任务挂起和恢复 API详解 OSTaskCreate OSTaskDel OS ...

  7. linux_sh/bash/shell_bash参考文档/查看可用shell /命令行编辑快捷键技巧/shell job任务管理/job vs process

    文章目录 sh/bash/shell_bash参考文档 references conclusion What Is a Shell? 查看本机的可用shell程序 sh sh on POSIX Sys ...

  8. 【 uC/OS II 】uC/OS II 源代码阅读(os_task.c)任务管理

    前言 这个任务管理源代码,是整个系统最核心的部分,也是最难的部分,多看几遍吧.其中的核心结构体是: typedef struct os_tcb {OS_STK *OSTCBStkPtr; /* Poi ...

  9. 【μc/OS内核分析】 任务管理

    μc/OS 任务管理 2.1 任务管理数据结构 任务控制块.任务空闲链表和任务就绪链表.任务优先级指针表.任务堆栈等. 2.1.1 任务控制块 OSTCB结构体包含了任务控制信息. typedef s ...

最新文章

  1. Swift:UIKit中Demo(一)
  2. 鼠标同步桌面_[问题处理]XenCenter控制台操作通过MCS发布的虚拟机鼠标不同步
  3. python通过ftp上传文本文件storlines怎么用_用python将本地文件上传到FTP报错
  4. 工作290:重置新增的mode
  5. python变量和常量_5、python的变量和常量
  6. 擅长排列的小明(nyoj19)
  7. Java拥挤度,零基础学JAVA难不难?
  8. Linux下TTY与PTY的区别
  9. matlab 找到数组中第一个不连续点_超全Matlab绘图方法整理
  10. 自己实现ArrayList
  11. 盘点IT职场“最差”程序员,这7个特征尤为典型!
  12. (第两百篇BLOG记录)写于博士三年级结束-20210529
  13. springboot2学习笔记:mvnw相关文件生成
  14. 分支和循环语句---循环语句
  15. win 10 把秘钥清掉之后查不到秘钥怎么办
  16. Lwip 奔溃掉线内存申请不出来也许大部分是竞争问题!
  17. 2016 校园招聘求职经历(一)
  18. openlayers离线文档_openlayers学习
  19. 损失率下降,但是准确率却提升慢或准确率结果不高
  20. 用PS制作红色金属网页模板

热门文章

  1. 使用Golang模板拼sql(及校验)
  2. Freenom注册顶级域名
  3. 使用pandas读取csv文件的指定列
  4. pytorch-GPU检测代码
  5. MySQL线程状态详解
  6. linux 查看端口号命令
  7. eclipse选择一行 快捷键
  8. 整理软件工程最基本的几个概念
  9. 使用Microsoft自动化组件
  10. Oracle 11g升级至11.2.0.3