Linux下的进程概论与编程二(进程控制)

本文详细介绍了Linux下进程控制的相关概念,包括进程标识符、实际用户与有效用户、进程创建(fork和vfork)、进程等待(wait和waitpid函数)以及进程的程序替换和终止。重点讨论了fork函数的工作原理和子父进程的区别,以及wait系列函数在回收子进程资源中的作用。最后,阐述了exec函数家族在程序替换中的应用,并举例说明了一个简单的Shell外壳程序模拟。
摘要由CSDN通过智能技术生成

Linux下的进程概论与编程一(进程概念与编程)

一、进程标识符

1、每个进程都有非负的整形表示唯一的进程ID
几个典型进程的ID及其功能:
这里写图片描述

2、除了进程ID,每个进程还有一些其他的标识符。
下列函数返回这些标识符:

#include <sys/types.h>
#include <unistd.h>
pid_t getpid(void); //返回值:调用进程的进程ID
pid_t getppid(void); //返回值:调用进程的父进程ID
uid_t getuid(void); //返回值:调用进程的实际用户ID
uid_t geteuid(void); //返回值:调用进程的有效用户ID
gid_t getgid(void); //返回值:调用进程的实际组ID
gid_t getegid(void); //返回值:调用进程的有效组ID

代码验证:

  1 /**************************************
  2 *文件说明:id.c
  3 *作者:段晓雪
  4 *创建时间:20170614日 星期三 1902405 *开发环境:Kali Linux/g++ v6.3.0
  6 ****************************************/
  7 
  8 #include <stdio.h>
  9 #include <unistd.h>
 10 #include <errno.h>
 11 #include <sys/types.h>
 12 #include <stdlib.h>
 13 
 14 int main()
 15 {
 16     uid_t uid;
 17     uid_t euid;
 18     pid_t pid;
 19     pid_t ppid;
 20     pid = fork();
 21     if(pid < 0)
 22     {
 23         printf("%d\n",errno);
 24         exit(2);
 25     }
 26     else 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值