diff --git a/translated/10 Linux/Unix Bash and KSH Shell Job Control Examples.md b/published/10 Linux/Unix Bash and KSH Shell Job Control Examples.md similarity index 66% rename from translated/10 Linux/Unix Bash and KSH Shell Job Control Examples.md rename to published/10 Linux/Unix Bash and KSH Shell Job Control Examples.md index 30c011146a..fe5373dfe0 100644 --- a/translated/10 Linux/Unix Bash and KSH Shell Job Control Examples.md +++ b/published/10 Linux/Unix Bash and KSH Shell Job Control Examples.md @@ -1,22 +1,22 @@ -10个 Linux/Unix下 Bash和KSH shell 的作业控制实例 +10个 Linux/Unix下 Bash 和 KSH shell 的作业控制实例 ================================================================================  -Linux 和 Unix 属于多任务的操作系统,也就是说一个系统在同一时间段内能运行多重任务(进程)。在这个新的博客系列,我将会列出相关的 Linux和Unix作业控制的命令,你可以通过这些命令在 Bash 或 Korn 还有 POSIX shell 下实现执行多重任务。 +Linux 和 Unix 属于多任务的操作系统,也就是说一个系统在同一时间段内能运行多重任务(进程)。在这个新的博客系列,我将会列出相关的 Linux 和 Unix 作业(job)控制的命令,你可以通过这些命令在 Bash 或 Korn 还有 POSIX shell 下实现执行多重任务。 ### 什么是作业控制?### -作业控制不过是能够停止/挂起(stop/suspend)正在执行的进程(命令)也可以继续/唤醒(continue/resume)你需要的每一个进程来执行。这完全可以用你的操作系统和类似 bash/ksh 或 POSIX shell 完成。 +作业控制不只是能够停止/挂起(stop/suspend)正在执行的进程(命令),也可以继续/唤醒(continue/resume)执行你需要的每一个进程。这完全可以用你的操作系统和 bash/ksh 之类的 shell 或 POSIX shell 完成。 -### 谁提供给了作业控制的设施条件 ### +### 谁给作业控制的提供了环境? ### -Bash / Korn shell,或者是 POSIX shell 提供给了作业控制的设施条件。 +Bash / Korn shell,或者是 POSIX shell 提供给了作业控制的环境。 ### 跟作业表打个招呼吧 ### 你的 shell 会留有一张当前作业的表单,称为作业表。当你键入命令时,shell 会给它分配一个 jobID(也称作 JOB_SPEC)。一个 jobID 或 JOB_SPEC只是很小的整数数值。 -#### #1: 创建你的首个 Linux/Unix 作业(job) #### +#### #1: 创建你的首个 Linux/Unix 作业 #### 我要运行一个名为 xeyes 的命令,它会在屏幕上显示两个椭圆的眼睛,输入: $ xeyes & @@ -42,48 +42,47 @@ Bash / Korn shell,或者是 POSIX shell 提供给了作业控制的设施条件 xload & sleep 100000 & -#### #2: 列出当前的jobs #### +#### #2: 列出当前的作业 #### -To [see the status of active jobs in the current shell][1], type: +要[查看当前 shell 的激活的任务状态][1],输入: $ jobs $ jobs -l -输出样例: +输出如下: [1] 9379 Running xeyes & [2] 9380 Running gedit /tmp/hello.c & [3]- 9420 Running xload & [4]+ 9421 Running sleep 100000 & -A brief description of each field is given below: +简要描述如下: -(注:表格部分,这样发表出来应该会方便看一点) -
| 字段 | 值 | 描述 | 示例 |
|---|---|---|---|
| 1 | [1] | jobID 或 JOB_SPEC - 工作号要与fg, bg, wait, kill和其他shell命令一起使用。你必须在工作号前缀添加一个百分号。(%). 加号 (+) 标识着默认的或是现在的 job。 减号 (-) 标识着先前的 job。 | %1 fg %1 kill %2 |
| 2 | 9379 | 进程 ID - 系统自动为每个进程创建并分配地独有的身份标志号。 | kill 9379 |
| 3 | Running | 状态 - 关于 job 的状态: Running - 该 job 正在运行,还没有被外部信号挂起。 Stopped - 该 job 已经被挂起。 | N/A |
| 4 | xeyes & | command - 由shell给出的命令。 | script & firefox url& |
| 字段 | 值 | 描述 | 示例 |
|---|---|---|---|
| 1 | [1] | jobID 或 JOB_SPEC - 工作号要与fg, bg, wait, kill和其他shell命令一起使用。你必须在工作号前缀添加一个百分号:(%)。 加号 (+) 标识着默认的或是现在的作业。 减号 (-) 标识着前一个作业。 | %1 fg %1 kill %2 |
| 2 | 9379 | 进程 ID - 系统自动为每个进程创建并分配地独有的身份标志号。 | kill 9379 |
| 3 | Running | 状态 - 关于作业的状态: Running - 该 作业正在运行,还没有被外部信号挂起。 Stopped - 该作业已经被挂起。 | N/A |
| 4 | xeyes & | command - 由shell给出的命令。 | script & firefox url& |
| 命令 | 描述 | 示例 |
|---|---|---|
| & | 将 job 置入后台 | 命令 & |
| %n | 设置作业号为 n (数字)的 job | 命令 %1 |
| %Word | 引用命令行开端包含 Word 的 job | 命令 %yum |
| %?Word | 引用命令行包含 Word 的 job | 命令 %?ping |
| %% %+ | 引用当前 job | kill %% kill %+ |
| %- | 引用先前 job | bg %- |
| CTRL-Z kill -s stop jobID | 挂起或停止 job | kill -s stop %ping |
| jobs jobs -l | 列出活动的 jobs | jobs -l |
| bg | 将 jobs 置入后台 | bg %1 bg %ping |
| fg | 将 job 置入前台 | fg %2 fg %apt-get |
| 命令 | 描述 | 示例 |
|---|---|---|
| & | 将作业置入后台 | 命令 & |
| %n | 设置作业号为 n (数字)的作业 | 命令 %1 |
| %Word | 引用命令行开端包含 Word 的作业 | 命令 %yum |
| %?Word | 引用命令行包含 Word 的作业 | 命令 %?ping |
| %% %+ | 引用当前作业 | kill %% kill %+ |
| %- | 引用先前作业 | bg %- |
| CTRL-Z kill -s stop jobID | 挂起或停止作业 | kill -s stop %ping |
| jobs jobs -l | 列出活动的作业 | jobs -l |
| bg | 将 作业置入后台 | bg %1 bg %ping |
| fg | 将作业置入前台 | fg %2 fg %apt-get |