【笔记】Linux 和 Unix 作业控制
2024-10-18 14:23:01
Linux 和 Unix 属于多任务的操作系统,也就是说一个系统在同一时间段内能运行多重任务(进程)。
作业控制不只是能够停止/挂起(stop/suspend)正在执行的进程(命令),也可以继续/唤醒(continue/resume)执行你需要的每一个进程。
Bash ,或者是 POSIX shell 提供给了作业控制的环境。
你的 shell 会留有一张当前作业的表单,称为作业表。当你键入命令时,shell 会给它分配一个 jobID(也称作 JOBSPEC)。一个 jobID 或 JOBSPEC只是很小的整数数值。
job 的 state 显示以下值之一(在 POSIX 的语言环境下):
Running
表示此作业没有被信号挂起并没有退出。
Done
表示此作业已经完成并返回退出状态 0。
Done (code)
表示此作业已经正常完成和退出并返回指定的非零退出状态码。这个代码用一个十进制数来表示。
Stopped
表示此作业已经挂起。
Stopped (SIGTSTP)
表示 SIGTSTP 信号挂起作业。
Stopped (SIGSTOP)
表示 SIGSTOP 信号挂起作业。
Stopped (SIGTTIN)
表示 SIGTTIN 信号挂起作业。
Stopped (SIGTTOU)
表示 SIGTTOU 信号挂起作业。
Linux 和 Unix 作业控制命令总结列表
命令 | 描述 | 示例 |
---|---|---|
& | 将作业置入后台 | 命令 & |
%n | 设置作业号为 n (数字)的作业 | 命令 %1 |
%Word | 引用命令行开端包含 Word 的作业 | 命令 %ping |
%?Word | 引用命令行包含 Word 的作业 | 命令 %?ping |
%% %+ |
引用当前作业 | kill %% kill %+ |
%- | 引用先前作业 | bg %- |
CTRL-Z kill -s stop jobID |
挂起或停止作业 | kill -s stop %ping |
jobs jobs -l |
列出活动的作业 | jobs -l |
bg |
将作业置入后台 (可以将stop的job状态改为running) |
bg %1 bg %ping |
fg | 将作业置入前台 | fg %2 fg %apt-get |
最新文章
- unity中三种调用其他脚本函数的方法
- 封装Nvelocity的渲染方法
- mysql 索引的原理
- spring mvc中的@PathVariable(转)
- 一个空格引发的bug
- JS 实现图片直接下载
- [已解决]IndentationError: unindent does not match any outer indentation level
- [国嵌笔记][025][ARM指令分类学习]
- day1-计算机基础
- windows下apache+https环境配置
- Pandas时间处理的一些小方法
- mysql 重点性能测试指标
- mysql 半同步复制~ 整体概述与改进
- samba 二进制包 tar.gz 安装
- 学习MeteoInfo二次开发教程(八)
- 步步为营-64-进程&;线程
- php boolean
- CouldnotcreatetheJavaVirtualMachine/1709
- sql语句Order by 报错列名不明确
- Nginx反向代理理解误区之proxy_cookie_domain