Linux 工作管理

工作管理指的是在单个登录终端(也就是登录的 Shell 界面)同时管理多个工作的行为。

只要将需要操作的命令放入前台,其他命令放入后台即可。

  1. 前台是指当前可以操控和执行命令的这个操作环境;后台是指工作可以自行运行,但是不能直接用 Ctrl+C 快捷键来中止它,只能使用 fg/bg 来调用工作。
  2. 当前的登录终端只能管理当前终端的工作,而不能管理其他登录终端的工作。比如 tty1 登录的终端是不能管理 tty2 终端中的工作的。
  3. 放入后台的命令必须可以持续运行一段时间,这样我们才能捕捉和操作它。
  4. 放入后台执行的命令不能和前台用户有交互或需要前台输入,否则只能放入后台暂停,而不能执行。比如 vi 命令只能放入后台暂停,而不能执行,因为 vi 命令需要前台输入信息;top 命令也不能放入后台执行,而只能放入后台暂停,因为 top 命令需要和前台交互。

Jobs 命令

jobs 命令可以用来查看当前终端放入后台的工作。

注意:jobs 命令不能查看其他终端放入后台的工作,只能查看当前终端

命令基本格式

[root@localhost ~]#jobs [选项]

选项

选项 含义
-l 列出进程的 PID 号
-n 只列出上次发出通知后改变了状态的进程。
-p 只列出进程的 PID 号
-r 只列出运行中的进程
-s 只列出已停止的进程

举例

[root@localhost ~]#jobs -l
[1]  -  2023 Stopped             top
[2]  + 79487 suspended (signal)  sftp user@127.0.0.1

可以看到,当前终端有两个后台工作:一个是 top 命令,工作号为 1,状态是暂停,标志是"-";另一个是 sftp 命令,工作号为 2,状态是挂起,标志是"+"。"+"号代表最近一个放入后台的工作,也是工作恢复时默认恢复的工作。"-"号代表倒数第二个放入后台的工作,而第三个以后的工作就没有"+-"标志了。

一旦当前的默认工作处理完成,则带减号的工作就会自动成为新的默认工作,换句话说,不管此时有多少正在运行的工作,任何时间都会有且仅有一个带加号的工作和一个带减号的工作。

posted @ 2021-01-25 15:12  许瑞晗  阅读(97)  评论(0)    收藏  举报