1、什么是程序,什么是进程,有什么区别?
程序是一个静态的概念 gcc xxx.c -o gro 磁盘中生成的gro文件叫做程序
进程是程序的一次运行活动,也就是说程序运行起来了就是一个进程
2、如何查看系统中有哪些进程?
用ps -aux指令查看所有进程
用ps -aux|grep xxx 来查看我们需要的进程 xxx为查看的进程名
还可以使用top指令来查看,类似于windows的任务管理器
3、什么是进程标识符?
每个进程都有一个非负整数表示的唯一id,叫做pid,类似于身份证。
Pid=0 :称为交换进程(swapper) 作用:进程调度
Pid=1 : init进程 作用:系统初始化
用getpid来获取自身进程的id号(标识符),getppid获取父进程的id号
#include
#include
#include
int main()
{
pid_t pid;
pid=getpid();printf("my id:%d\n",pid);while(1);return 0;
}
4、什么叫父进程什么叫子进程?
如果进程A创建了进程B,那么A叫做父进程,B叫做子进程,父子进程是一个相对概念,理解为人类中的父子关系。
5、c程序的存储空间是如何分配的?
正文:也就是代码段,是一个程序main函数里面的if else for 和一些算法的代码
正文段:执行代码的存储空间
初始化数据段:定义在所有函数外面的已初始化变量的存储空间
未初始化数据段:定义在所有函数外面的未初始化变量的存储空间
栈:调用函数时的环境参数和传递给函数的参数
堆:动态存储分配变量的空间(如malloc申请空间)
师承:上官可编程