在一个shell中查看管理 任务(前台和后台)/工作jobs 的命令

在一个shell中查看管理 任务(前台和后台)/工作jobs 的命令

jobs是在同一个shell环境而言, 才有意义的.

为什么有jobs这个命令?
是因为, 如果从cmd line运行gui程序时, shell会收到hup(hang up挂起信号)信号, 这时shell会被阻塞,那么
后面的命令就无法继续输入.

所以, 要使用同一个shell运行多个gui程序时, 要将某些命令放到后台去执行。这就是jobs管理任务的来由:

cockpit: n. 驾驶舱; 战场.
The Middle East has been the cockpit of modern history.
a new cockpit of superpower rivalry.

  1. 将一个任务转到后台的方法有:
    &: geidt &
    如果已经在运行了, 那么用ctrl+z强行停止, 并转到后台.

  2. 如何用jobs查看:

    命令: jobs -lprs %number
    jobs -l (list 列表列出所有的后台任务)
    jobs -p (显示进程好pid)
    jobs -r (只显示正在运行的后台任务)
    jobs -s (只显示已经停止的..)
    格式是: [%number]  state   command  args
    state: running, stop, terminated.
    其中+表示当前任务, - 号表示最近的当前任务
    
    jobs + :  显示当前任务;
    jobs -:  显示最近的当前任务

    还有两个命令: bg, fg:

    fg:  是将后台的任务转到前台来执行;
    bg:  是将后台停止的任务运行起来... 

    

使用bg 主要针对的 是服务, 可以用bg使 后台停止的服务 运行起来! 如果是vi等 程序通常在后台 是stopped.

posted @ 2016-06-19 20:09  noitanym  阅读(1251)  评论(0编辑  收藏  举报