Linux 工作管理
工作管理指的是在单个登录终端(也就是登录的 Shell 界面)同时管理多个工作的行为。
只要将需要操作的命令放入前台,其他命令放入后台即可。
- 前台是指当前可以操控和执行命令的这个操作环境;后台是指工作可以自行运行,但是不能直接用 Ctrl+C 快捷键来中止它,只能使用 fg/bg 来调用工作。
- 当前的登录终端只能管理当前终端的工作,而不能管理其他登录终端的工作。比如 tty1 登录的终端是不能管理 tty2 终端中的工作的。
- 放入后台的命令必须可以持续运行一段时间,这样我们才能捕捉和操作它。
- 放入后台执行的命令不能和前台用户有交互或需要前台输入,否则只能放入后台暂停,而不能执行。比如 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,状态是挂起,标志是"+"。"+"号代表最近一个放入后台的工作,也是工作恢复时默认恢复的工作。"-"号代表倒数第二个放入后台的工作,而第三个以后的工作就没有"+-"标志了。
一旦当前的默认工作处理完成,则带减号的工作就会自动成为新的默认工作,换句话说,不管此时有多少正在运行的工作,任何时间都会有且仅有一个带加号的工作和一个带减号的工作。

浙公网安备 33010602011771号