Linux系统编程篇—进程(概念)相关的问题
1.什么是程序,什么是进程,又什么区别?
- 程序是静态的概念, gcc xxxx.c -o pro,磁盘中生成的pro文件,叫做程序
- 进程的则是正在运行的程序(动态的概念)
2.如何显示进程
- ps (显示部分)
- ps -aux (显示全部)
- ps -aux|grep init (精确查找 有init的)
- top 指令,类似Windows中的任务管理器
3.什么是进程表示符?
-
每一个进程都有一个非负整数表示唯一的ID,pid(类似我们的身份证)
-
Pid=0 称为交换进程(swapper),作用—进程调度(网络、内存调度)
Pid=1 init进程,作用—系统初始化(开机) -
ppid父进程 (进程A创建了进程B,那么A叫做父进程,B叫做子进程,父子进程是相对的概念,理解为人类中的父子关系)
-
获取进程的pid的函数(API) getpid()
#include <sys/types.h> #include <unistd.h> pid_t getpid(void); pid_t getppid(void); // int main() { pid_t pid; pid_t ppid; pid = getpid(); ppid = getppid(); printf("pid = %d\n",pid); printf("ppid = %d\n",ppid); while(1){ } return 0; }
4.C语言存储空间是如何分配的?