好好爱自己!

bash shell中可以使用wait

https://jingyan.baidu.com/article/b907e6278fbd8946e7891c17.html

============================================================

linux下和windows下的任务控制不一样,

windows一般使用任务管理器进行管理

而linux下可以通过一系列的任务命令来控制,

主要包含:

bg,fg,jobs,kill,wait,disown,suspend.

下面就对这些命令进行简单的介绍

linux任务控制bg,fg,jobs,kill,wait,suspend...
 

任务控制

 
  1. 1

    bg

    bg [jobspec…]     

    恢复每一个描述为jobspec的后台任务,就是通过“&”启动的任务。

    如果没有jobspec,当前的任务就会被使用。                                                                                                                                                                                               

    linux任务控制bg,fg,jobs,kill,wait,suspend...
  2. 2

    fg

    fg [jobspec]

    恢复描述为jobspec的任务到前台,使他成为当前任务,

    如果没有jobspec,当前的任务就会被使用。 

    例子:使用fg,就会将top重新恢复到前台

    linux任务控制bg,fg,jobs,kill,wait,suspend...
  3. 3

    jobs

    格式

    jobs [-lnprs] [jobspec] 

    jobs -x command[arguments]

    jobs主要的功能就是列举出活动的任务

    -l 列举任务的ID等内容

     

    -p 列举任务的PID

    -r -s 分别是列举运行的和停止的任务。

    linux任务控制bg,fg,jobs,kill,wait,suspend...
  4. 4

    kill

    kill [-ssigspec] [-nsignum] [-sigspec]jobspec or pid

    kill -l|-L [exit_status]

    kill 就是杀死对应的任务,可以通过jobspec 或者pid都可以

    linux任务控制bg,fg,jobs,kill,wait,suspend...
  5. 5

    wait

    wait [-n] [jobspecorpid…]

    wait 会保证所有的子任务(进程)都结束了,才会退出主进程。

    所以一般脚本如果执行有多个任务,使用wait就可以保证子任务的运行。

    linux任务控制bg,fg,jobs,kill,wait,suspend...
  6. 6

    disown

    disown [-ar] [-h] [jobspec… |pid… ]

    从活动任务表里移除每一个jobspec的任务

    linux任务控制bg,fg,jobs,kill,wait,suspend...
  7. 7

    suspend

    suspend [-f]

    挂起任务当前shell的执行,直到等到接受SIGCONT信号。

    linux任务控制bg,fg,jobs,kill,wait,suspend...
     
posted @ 2019-01-21 10:23  立志做一个好的程序员  阅读(685)  评论(0编辑  收藏  举报

不断学习创作,与自己快乐相处