LINUX系统编程_进程_进程相关概念

什么是程序,什么是进程,有什么区别?

程序是静态的概念,gcc xxx.c - o pro
磁盘中生成的pro文件,叫做程序
进程是程序的一次运行活动,通俗点意思是程序跑起来了,系统中就多了一个进程

如何查看系统中有那些进程?

a.使用ps指令查看
实际工作中,配合grep来查看程序中是否存在某一进程:grep:起到过滤作用
例如

tianya@tianya-virtual-machine:~$ ps
   PID TTY          TIME CMD
  5253 pts/0    00:00:00 bash
  5310 pts/0    00:00:00 ps
tianya@tianya-virtual-machine:~$ ps -aux|grep init
root          1  0.0  0.2 225392  5544 ?        Rs   09:25   0:01 /sbin/init splash
tianya     5405  0.0  0.0  16180  1104 pts/0    S+   10:01   0:00 grep --color=auto init
tianya@tianya-virtual-machine:~$ 

b.使用top指令查看,类似windows任务管理器

tianya@tianya-virtual-machine:~$ top

在这里插入图片描述

什么是进程标识符?

每个进程都有一个非负整数表示唯一ID,叫做pid,类似身份证
pid=0:称为交换进程(swapper)
作用——进程调度
pid=1:init进程
作用——系统初始化
编程调用getpid函数获得自身的进程标识符,getppid获取父进程的进程标识符
输入命令可以查看函数用法

tianya@tianya-virtual-machine:~$ man getpid
NAME
       getpid, getppid - get process identification

SYNOPSIS
       #include <sys/types.h>
       #include <unistd.h>

       pid_t getpid(void);
       pid_t getppid(void);

在这里插入图片描述
测试demo

#include<stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{

pid_t pid;

pid = getpid();

printf("my pid:%d\n",pid);


while(1);//让程序不退出

return 0;

}

测试结果:编译运行,使用top指令查看进程
在这里插入图片描述

什么叫父进程,什么叫子进程

进程A创建了进程B
那么A叫做父进程,B叫做子进程,父子进程是相对概念,理解为人类中的父子关系

C程序的存储空间是如何分配?

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值