46 lines
1.2 KiB
Markdown
46 lines
1.2 KiB
Markdown
|
# Linux Ctrl+Z 的使用方法
|
|||
|
|
|||
|
本文以执行 /root/bin/rsync.sh 为例进行讲解。
|
|||
|
|
|||
|
假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl+Z,将这个程序挂起到后台,可以看到系统提示:
|
|||
|
|
|||
|
```bash
|
|||
|
[1]+ Stopped /root/bin/rsync.sh
|
|||
|
```
|
|||
|
|
|||
|
此时程序在后台处于暂停运行状态,然后我们可以用 bg 命令将暂停的程序放到后台运行(bg 后面的数字为作业号):
|
|||
|
|
|||
|
```bash
|
|||
|
bg 1
|
|||
|
|
|||
|
[1]+ /root/bin/rsync.sh &
|
|||
|
```
|
|||
|
|
|||
|
用 jobs 命令查看正在运行的任务:
|
|||
|
|
|||
|
```bash
|
|||
|
jobs
|
|||
|
|
|||
|
[1]+ Running /root/bin/rsync.sh &
|
|||
|
```
|
|||
|
|
|||
|
如果想把它调回到前台运行,可以用(fg 后面的数字为作业号):
|
|||
|
|
|||
|
```bash
|
|||
|
fg 1
|
|||
|
|
|||
|
/root/bin/rsync.sh
|
|||
|
```
|
|||
|
|
|||
|
这样,你在控制台上就只能等待这个任务完成了。
|
|||
|
|
|||
|
总结下各任务控制的差别:
|
|||
|
|
|||
|
* & 将指令丢到后台中去执行;
|
|||
|
* Ctrl+Z 将前台任务丢到后台中暂停;
|
|||
|
* bg %jobnumber 将后台中暂停中的任务放到后台去运行;
|
|||
|
* jobs 查看后台的工作状态;
|
|||
|
* fg %jobnumber 将后台的任务拿到前台来处理;
|
|||
|
* kill 管理后台的任务;
|
|||
|
* 默认 bg,fg 不带 N 时表示操作最后一个作业。
|