〇、废话
在 macOS 的 Console 里,输入
$ uname
可以看到
Darwin
说明 macOS 底层是 Darwin,所以在 Console 中的操作与 Unix 类似。
在这样的类 Unix 系统中,在前台运行一个长时间的任务的时候,如:Tomcat、vi 等,我们会失去对 Shell 的控制权,这时可以通过 Control-C、Control-D、Control-Z 这几个命令重新拿回 Shell 控制权。但这几个操作之间有些区别。
一、Control-C
中止当前任务,进程被 Kill 掉。
二、Control-D
对于需要从 stdin
输入的应用,如:cat
、md5
,当完成输入的内容之后,使用 Control-D
输入 EOF
标记。
三、Control-Z
将当前任务挂起,放到后台。
1、jobs
命令查看当前 Shell 中所有“挂起”的和“后台运行”的任务
Control-Z
之后,执行
$ jobs
执行结果:
Job Group State Command
4 60511 running hs -p33333 -c-1 -o
3 60416 stopped vi z3.txt
2 40111 stopped vi z2.txt
1 40039 stopped vi z.txt
2、fg
、bg
命令
fg
、bg
命令,后面跟 %n
,n 是 jobs
命令返回内容的 Job
列的数字。
例如:
$ bg %4
$ fg %1
默认 bg
、fg
不带 %n
时表示对最后一次进程操作。
3、kill
命令杀掉进程
$ kill %2
补充内容:其他后台任务相关
screen
命令
四、后台任务相关资料
(完)