每个用户均可同时运行多个程序。为了区分每一个运行的程序,Linux给每个进程都做了标识,称为进程号(process ID),每个进程的进程号是唯一的。
Linux 给每个进程都打上了运行者的标志,用户可以控制自己的进程:给自己的进程分配不同的优先级,也可以随时终止自己的进程。
- 进程从执行它的用户处继承UID、GID,从而决定对文件系统的存取和访问。
Linux 不可能在一个 CPU 上同时处理多个任务(作业)请求,而是采用 “分时” 技术来处理这些任务请求。
使用PID区分不同的进程
- 系统启动后的第一个进程是init,它的PID是1。init是唯一一个由系统内核直接运行的进程。
- 除了init之外,每个进程都有父进程(PPID标识)
- 每个进程还有四个与用户和组相关的识别号
- 实际用户识别号 (real user ID,RUID)
- 实际组识别号 (real group ID,RGID)
- 有效用户识别号 (effect user ID,EUID)
- 有效组识别号 (effect group ID,EGID)
- RUID和RGID的作用:识别正在运行此进程的用户和组。
- EUID和EGID的作用:确定一个进程对其访问的文件的权限。
进程类型:
- 交互进程
- 由一个Shell启动的进程。
- 交互进程既可以在前台运行,也可以在后台运行。
- 批处理进程
- 不与特定的终端相关联,提交到等待队列种顺序执行的进程。
- 守护进程(Daemon)
- 在Linux在启动时初始化,需要时运行于后台的进程。
进程的启动方式:
- 手工方式:使用操作系统提供的用户接口
- 前台
- 后台 (&)
- 调度方式:按照预先指定的时间执行
- at
- batch
- cron
前台进程:
- 指一个程序控制着标准输入/输出,在程序运行时,shell 被暂时挂起,直到该程序运行结束后,才退回到 shell。在这个过程中,用户不能再执行其它程序
后台进程:
- 用户不必等待程序运行结束就可以执行其它程序。运行后台进程的方法是在命令行最后加上 “&”
进程和作业的区别:
- 进程:操作系统的概念,由操作系统负责管理
- 作业:shell程序的概念,由shell程序负责管理
- 一个操作系统可以启动多个shell程序,shell本身也是一个进程
- 一个作业里至少包含一个进程,也可以包含多个进程
- 作业分前台和后台运行之分
标签:shell,管理,用户,Linux,进程,ID,运行 From: https://www.cnblogs.com/xqyz/p/17864427.html