Linux系统编程之进程

进程

进程:系统进行资源分配和调度的基本单位,是操作系统结构的基础。它的执行需要系统分配资源创建实体之后,才能进行
线程:线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。
(我们可以把进程看作是线程的容器,系统以进程作为资源分配的独立单位,以线程作为独立运行的单位)

进程ID:进程的标识符,严格按照线性分配的,比如说当前进程ID是100,那么下一个进程分配到的ID就是101;
查看当前进程:在Ubuntu中端输入top命令就可以


```c
   #include 
   #include 
   //获取子进程ID
   pid_t getpid(void);
   //获取父进程ID
   pid_t getppid(void);

创建子进程

pid_t fork(void)
参数:无
斜体样式

返回值:执行成功,子进程pid 返回给父进程,0 返回给子进程;出现错
误-1,返回给父进程。执行失败的唯一情况是内存不够或者id 号用尽,
不过这种情况几乎很少发生。
**

exec函数族

作用:在一个程序之中运行另外一个文程序(是跳到另外执行程序路径,本程序下面的程序不会被继续执行;如果要让本程序继续向下执行的话,需要创建新的进程)

  #include 
   extern char **environ;
   int execl(const char *path, const char *arg, ...);
   int execlp(const char *file, const char *arg, ...);
   int execle(const char *path, const char *arg,
              ..., char * const envp[]);
   int execv(const char *path, char *const argv[]);
   int execvp(const char *file, char *const argv[]);
   int execvpe(const char *file, char *const argv[],
              char *const envp[]);

path;调用文件的路径
file:调用文件的文件名
argv[]:传给调用文件的参数



你可能感兴趣的:(linux进程,linux)