Linux系统编程:进程 1

1.进程的概念

进程是进行中的程序,是程序的一次执行过程,是程序的一个实例./a.out

进程 = pcb + 进程实体(text|data|bss|堆|栈)

进程的状态:
    3个状态,就绪→执行态→阻塞(等待,睡眠)基本操作系统
    linux中的状态,运行态,睡眠态,僵尸,暂停态。

进程的调度:内核主要功能之一就是完成进程调度:宏观并行,微观串行

2.进程和程序的区别

程序(硬盘)--(./a.out)--> 进程(内存)

程序——>静态——>硬盘

进程——>动态——>内存

一个程序可以有多个进程

3.Linux下进程的相关命令

(1)ps  aux | grep 程序名(a.out):查看某个进程的pid号及状态信息

(2)ps  -elf | grep 程序名(a.out):查看父子进程,包括pid,ppid

(3)pstree -sp pid号:查看父子进程之间的关系

(4)kill:给进程发信号,kill -l查看kill的所有信号,常用信号有kill -9 pid号:终止进程

kill -19 pid号:暂停进程,kill -18 pid号:继续进程,

当一个进程暂停后又继续,会从前台进程变成后台进程,用ps查看会发现失去了'+'号,此时进程无法用ctrl + c终止,只能用kill -9 pid号终止

(5)killall:给所有进程发信号,可以指定名称

(6)getpid():获得pid号

4.进程编程:

(1)创建进程,为了实现多任务,fork()创建,pid_t fork(void),父进程返回子进程的pid号,子进程返回0;

(2)进程的执行;

(3)进程结束(僵尸态);

(4)进程的资源回收;

5.父子进程之间的关系

父子进程间数据相互独立,互不影响

父子进程的调度顺序不确定,取决于操作系统

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值