Linux下的进程和作业概念,以及作业管理 | 您所在的位置:网站首页 › linux进程管理与存储管理的联系 › Linux下的进程和作业概念,以及作业管理 |
进程的一个比较正式的定义是:在自身的虚拟地址空间运行的一个单独的程序。 Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。 交互进程——由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。 批处理进程——这种进程和终端没有联系,是一个进程序列。 监控进程(也称守护进程)——Linux系统启动时启动的进程,并在后台运行。
进程和作业的概念也有区别。一个正在执行的进程称为一个作业,而且作业可以包含一个或多个进程,尤其是当使用了管道和重定向命令。例如“nroff -man ps.1|grep kill|more”这个作业就同时启动了三个进程。 作业控制指的是控制正在运行的进程的行为。比如,用户可以挂起一个进程,等一会儿再继续执行该进程。shell将记录所有启动的进程情况,在每个进程过程中,用户可以任意地挂起进程或重新启动进程。作业控制是许多shell(包括bash和tcsh)的一个特性,使用户能在多个独立作业间进行切换。 一般而言,进程与作业控制相关联时,才被称为作业。
在大多数情况下,用户在同一时间只运行一个作业,即它们最后向shell键入的命令。但是使用作业控制,用户可以同时运行多个作业,并在需要时在这些作业间进行切换。这会有什么用途呢?例如,当用户编辑一个文本文件,并需要中止编辑做其他事情时,利用作业控制,用户可以让编辑器暂时挂起,返回shell提示符开始做其他的事情。其他事情做完以后,用户可以重新启动挂起的编辑器,返回到刚才中止的地方,就象用户从来没有离开编辑器一样。这只是一个例子,作业控制还有许多其他实际的用途。
直接将命令放到后台“执行”的& 在bash的环境下, 前台指:你可以控制的作业 后台指:在内存可以自行运行的作业,你无法直接控制它,除非以bg/fg等命令将该作业调用出来。 范例: [root@redflag ~]# tar –zpcf /tmp/etc.tar.gz /etc &[1] 24874 &1 & 这样,数据都传送到/tmp/log.txt中,自然不会影响到前台作业。 二、 将“当前”作业放到后台“暂停”:[crtl]+Z 如果你正在进行vi,但你想查找某个文件,需要到bash环境搜索。此时你可以暂时离开vi [root@redflag ~]# vi ~/.bashrc# 在vi 的一般模式下,按ctrl+z [1]+ Stopped /usr/bin/vim ~/.bashrc #(+)表示当前在后台下默认的作业 [root@redflag ~]# |
CopyRight 2018-2019 实验室设备网 版权所有 |