什么是工作管理:是用在bash环境下的,作用是管理单个虚拟
终端接口(也就是我们登陆系统时取得的bash shell)下的多
个工作行为的管理。由于每个进程大多都属于当前bash shell
的子程序,因此程序之间相互也有一定的关联性,工作管理只
能管理当前bash shell下的进程,不能从当前的tty1管理tty2
中的进程。
工作管理的作用是:假如我们在用vi编辑某个档案时,临时想到
还有某个档案要加进来查看,当却忘记了它的文件路径,此时
bash的提示符接口又被vi占用了;接下来就可以在不关闭vi的情
况下使用ctrl+z键来暂停vi并把它放入后台里。注意,在后台的进程不能使用
ctrl+c终止。
总之,要迚行 bash 的 job control 必项要注意到的限制是:
这些工作所触发的程序必项来自于你 shell 的子程序(只管理自己的bash);
前景:你可以控制并下达指令的这个环境称为前景的工作 (foreground);
背景:可以自行运作的工作,你无法使用 [ctrl]+c 终止他,可使用 bg/fg 呼叫
该工作;
背景中『执行』的程序不能等待 terminal/shell 的输入(input)
所以,可以想象,当你通过ssh连接到了主机,并在些bash下运行了一个程序,此程
序工作要花费很长一段时间,而这时ssh连接断开了,那么结果是你这个程序也就跟
着消失了。因为这此子程序的父进程都是当前虚拟终端接口的bash,父进程死了
(消失),那么子程序也当然会消失。
如果在此bash下运行脚本,并把此脚本放入bash背景中(不是系统背景中),那么
当终端连接断开时,那么此脚本也会消失。
所以要注意的是,我们在工作管理当中提到的『背景』其实是在终端机模式下可以
避免[crtl]+c 中断的一个情境, 并非是放到系统的背景去喔!所以,工作管理的
背景依旧与终端机有关啦! 在这样的情况下,如果你是以进程联机方式连接到你的
Linux 主机,并且将工作以 & 的方式放到背景去, 请问,在工作尚未结束癿情冴
下你脱机了,该工作还会继续迚行吗?答案是『否』!不会继续迚行,而是会被中
断掉。
阅读(1266) | 评论(0) | 转发(0) |