进程的定义
进程process:分配的内存地址空间、安全属性(所有权和特权)、一个或多个线程、进程状态
进程的环境:本地和全局变量、当前调度上下文、分配的系统资源(如文件和网络端口)
当前进程parent复制自己的地址空间fork来创建一个新的子进程结构,每个进程具有PID
多任务操作系统中,每个CPU同一时间处理一个进程,进程运行时具有不同状态
列出进程
ps命令用于列出当前进程:运行进程的用户UID、进程PID、CPU在其上的运行时间、分配的内存量、进程的stdout位置(控制终端)
ps-aux(UNIX格式)不等于ps aux(BSD格式)
ps的常用选项是aux 、-ef、lax(长列表)
描述作业和会话
job control是shell的一种功能,允许单个shell实列运行和管理多个命令
一个终端同一时间只能对一个作业发送信号和读取信息,这个作业进程成为该终端的前台进程
可以将作业进程放入后台,可以运行也可以暂停
每个terminal就是一个会话,里面可能含有一个前台进程和任意数量的后台进程,一个作业只属于一个会话
ps输出中有些进程由系统启动,而不是由shell提示符启动,这种进程没有terminal,无法切换到前台,在ps中显示为?
在后台运行作业
命令后加&即可在后台运行,shell继续显示提示符
jobs命令显示作业列表
fg %jobid可将后台作业转至前台
ctrl+z可将前台进程放到后台,并暂停运行
ps j 命令显示作业信息,进程状态T表示暂停
bg %jobid可以在后台继续运行作业