进程与程序

进程与程序

  1. 程序通常时一个静态的可执行文件。
  2. 进程是程序运行动态体现。
  3. 在 windos 下可执行文件类型是 exe;通常在 Linux 下可执行文件类型是 ELF,Linux 中可执行文件没有固定后缀。
  4. 进程是系统管理的最小单位。

ELF 格式文件类型

  1. 可执行文件
  2. 可重定位文件:.o .a (静态库)
  3. 共享目标文件:.so (动态链接库)
  4. 核心转储文件:.dump

// 查看可执行文件 a.out 的头部信息
readelf -h a.out

struct task_struct 结构体位置:
/usr/src/linux-headers-4.15.0-142-generic/include/linux/sched.h

pstree // 查看系统进程树
ps -ef // 查看系统中当前进程
top - H // 动态查看系统中当前进程
htop // 动态查看系统中当前进程 (需要自行安装插件)
//sudo apt-get install htop

init 属于整个系统中最顶层的进行 (没有父进程)
其余进程都有父进程

进程组、对话期、终端

  1. 进程
    • 每运行一个程序就会有一个进程
  2. 进程组
    • 进程组实际上一组进程,是为了方便多个关联进程的管理。
    • 每个进程组也都拥有一个组 ID,通常会使用进程组中所有进程 PID 最小的那个进程当成进程组组长。
    • 如果进程组的组长进程优先退出,当前进程组依旧存在不受影响,直到组内所有进程全部退出之后,进程组才会消亡。
    • 如果进程组的组长进程优先退出,不会有新的进程晋升为组长,我们依旧使用原进程组组长创建的组 ID 来管理当前进程组。
    • 进程必定属于某一个进程组,且只能属于一个进程组。
  3. 对话期 (会话期)
    • Linux 是多用户多任务操作系统
    • 当一个用户登录一次系统时就会形成一个会话
    • 每个会话也有一个领导
    • 一个会话可以拥有多个进程组
    • 通常只能有一个前台进程组
    • 一个会话可以有一个控制终端
    • 一个会话中应该包括控制进程 (会话首进程)、一个前台进程组和任意个后台进程组
  4. 终端
    • Linux 中通常说的终端就是一个与用户交互的命令窗口
    • 每打开一个命令终端就会有自己的前台工作和后台工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值