嵌入式学习(linux进程部分)

多任务简介
多任务处理是指用户可以在同一时间内运行多个应用程序,每个应用程序被称作一个任务。Linux、windows就是支持多任务的操作系统,比起单任务系统它的功能增强了许多。
当多任务操作系统使用某种任务调度策略允许两个或更多进程并发共享一个处理器时,事实上处理器在某一时刻只会给一件任务提供服务。因为任务调度机制保证不同任务之间的切换速度十分迅速,因此给人多个任务同时运行的错觉。多任务系统中有3个功能单位:任务、进程和线程。

管理进程的结构体 task_struct ,也叫做进程控制块(PCB),这个结构体在 sched.h 中,这个结构体包含进程运行时所需的所有资源 (堆、栈、数据段等)。

进程的一生

进程状态

  1. 就绪态、运行态:R
  2. 可中断的睡眠态:S
  3. 不可中断的睡眠态:D
  4. 暂停态:T
  5. 僵尸态:Z

一个进程的诞生,是从其父进程调用fork()/vfork()开始的。当我们运行一个程序时,其需要相应的资源(堆 、栈、数据段),那么fork()/vfork()后,相当于复制了一份同样的资源给子进程

size  (a.out)   :  显示a.out 的text,data,bss段信息;

ps -elf :查询父子进程,包括pid 和 ppid

             ps -elf | grep a.out

ps aux :查看某进程的pid及状态信息

            ps aux | grep a.out

pstree -sp pid号:查看父子进程(属性图,含pid号)

kill:给进程发送一个信号;

   kill -l:查看kill可以发送的所有信号

   kill  -9  pid号:给pif发送一个9号信号

pid_t fork (void):创建进程;

返回值:在父进程中返回子进程的pid号(int型数据)

              在子进程中返回0;

              失败返回-1. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值