1.进程标识

(1)进程标识说明

每个进程都有一个非负整型的唯一进程ID。因为进程ID标识符总是唯一的,常将其用作其他标识符的一部分以保证其唯一性。

在Linux中,进程ID 0是调度进程,常常被称为交换进程。该进程并不执行任何磁盘上的程序—它是内核的一部分,因此也被称为系统进程。进程ID 1通常是init进程,在自举过程结束时由内核调用。

init通常读与系统有关的初始化文件(/etc/rc*文件),并将系统引导到一个状态(例如多用户),init进程决不会终止,它是一个普通的用户进程(与交换进程不同,它不是内核中的系统进程),但是它以超级用户特权态运行,init进程是所有孤儿进程的父进程。

在Linux中最主要的进程标识有进程号(PID,Process Idenity Number)和它的父进程号(PPID,parent process ID),其中PID唯一地标识一个进程,PID和PPID都是非零的正整数。

(2)进程标识相关函数原型

头文件

#include

#include

函数说明

函数原型

返回值

pid_tgetpid(void )

进程ID

pid_tgetppid(void )

父进程ID

uid_tgetuid(void )

实际用户ID

uid_tgeteuid(void )

有效用户ID

gid_tgetgid(void )

实际组ID

gid_tgetegid(void )

有效组ID

struct passwd * getpwuid(uid_t uid)

用来逐一搜索参数uid指定的用户识别码,找到时便将该用户的信息以passwd结构返回

(3)进程标识函数使用实例

pid.c源代码如下:

#include

#include

#include

#include

int main(int argc,char **argv)

{

pid_t my_pid,parent_pid;

uid_t my_uid,my_euid;

gid_t my_gid,my_egid;

struct passwd *my_info;

my_pid=getpid();

parent_pid=getppid();

my_uid=getuid();

my_euid=geteuid();

my_gid=getgid();

my_egid=getegid();

my_info=getpwuid(my_uid);

printf("Process ID%ld/n",my_pid);

printf("Parent ID%ld/n",parent_pid);

printf("User ID%ld/n",my_uid);

printf("Effective User ID%ld/n",my_euid);

printf("Group ID%ld/n",my_gid);

printf("Effective Group ID%ld/n",my_egid);

if(my_info)

{

printf("My Login Name%s/n" ,my_info->pw_name);

printf("My Password %s/n" ,my_info->pw_passwd);

printf("My User ID %ld/n",my_info->pw_uid);

printf("My Group ID %ld/n",my_info->pw_gid);

printf("My Real Name %s/n" ,my_info->pw_gecos);

printf("My Home Dir %s/n", my_info->pw_dir);

printf("My Work Shell%s/n", my_info->pw_shell);

}

}

编译 gcc pid.c –o pid。

执行 ./pid,执行结果如下:

Process ID6492

Parent ID5707

User ID1008

Effective User ID1008

Group ID1003

Effective Group ID1003

My Login Name zjkf

My Password x

My User ID 1008

My Group ID 1003

My Real Name zjkf,,,,

My Home Dir /home/zjkf

My Work Shell/bin/bash

摘录自《深入浅出Linux工具与编程》

linux中每个进程都有唯一的进程标识,Linux进程标识相关推荐

  1. linux中一切都是文件_在Linux中,“一切都是文件”是什么意思?

    linux中一切都是文件 One of the defining features of Linux and other UNIX-like operating systems is that &qu ...

  2. Linux添加/删除用户和用户组(linux中,添加cvs用户,实质就是添加linux用户。)

    来源:http://www.cnblogs.com/xd502djj/archive/2011/11/23/2260094.html 本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数 ...

  3. linux++tar打包目录,linux中tar命令打包目录与排除目录打包linux操作系统 -电脑资料...

    本文章来给各位朋友详细介绍关于linux中tar命令打包目录与排除目录打包有需要了解tar命令的使用方法的朋友可进行参考参考, 打包压缩目录很简单如下代码如下复制代码 tar -czf small.t ...

  4. linux中人脸识别不了,虹软人脸识别在 linux中so文件加载不到的问题

    其实是可以加载到的,不过是so文件放的位置不一对,最简单的方式是放在 /usr/lib64 目录下,也可自己设置. so文件加载不到会报这个错误: .lang.UnsatisfiedLinkError ...

  5. 在linux中 要删除abc目录,操作系统原理与应用(linux)A卷

    福州外语外贸职业技术学院 2010-2011学年第一学期(期末)试卷 09 级网络系统管理专业操作系统原理与应用(linux)科目(A )卷课程代码考试形式闭卷考试时量 120 分钟姓名__ ____ ...

  6. linux中vim编辑器_为什么Vim爱好者喜欢Herbstluftwm Linux窗口管理器

    linux中vim编辑器 每个人都喜欢Vim(除了Dvorak和Emacs用户). Vim非常流行,以至于整个Web浏览器都致力于通过Vim键盘绑定,流行的Zsh终端仿真器中的Vim模式甚至文本编辑器 ...

  7. linux中,添加cvs用户,实质就是添加linux用户 (extssh 连接方式)。 (添加时,注意是否要分组。)

    前言: 今天使用cvs取代码,发现无法登录. (但是系统管理者说,用户已经添加了..) ----------------------------- cvs知识补充: cvs的连接方式 pserver, ...

  8. linux中波浪号代表什么_【整理】Linux系统中用波浪号~表示用户的根目录即$HOME,以及为何用波浪号表示用户根目录...

    背景 Linux世界中,常常看到波浪号,去表示用户根目录. 但是背后的深意和原因,一直不知道. 所以需要去总结搞清楚. Linux中用波浪号~表示$HOME即用户根目录 Linux中,在命令行操作时, ...

  9. linux中wps默认安装目录,centos6.5 安装wps linux

    wps现在有linux版本,linux里面自带的soffice工具,又感觉比较挫,因此考虑在linux中安装wps工具,来操作excel和work文档. 安装的linux系统为64位系统的centos ...

最新文章

  1. 【Tensorflow】tf.nn.atrous_conv2d如何实现空洞卷积?膨胀卷积
  2. AI 与区块链:两大热门技术,会碰撞出什么样的火花?
  3. python hash
  4. windows下的php的memcache扩展的安装及memcache最新下载地址
  5. oracle事务处理类型,Oracle EBS-SQL (OM-5):检查订单事务处理类型.sql
  6. 画图软件怎么做性能测试,软件性能测试能力提升解决方案.pdf
  7. c语言编程一个象棋游戏,急求:C语言编写的中国象棋游戏一个
  8. phpunit autoload.php,关于php:Composer不会创建所有需要的phpunit包含路径
  9. 马哥Linux网络班作业(6)
  10. matlab数字电路仿真,MATLAB环境下的数字电路仿真
  11. 安科瑞【节能学院】电气火灾监控系统在太焦铁路博爱站房项目的应用
  12. 时间管理---重要紧急四象限法
  13. 使对话框的最大化、最小化和关闭按钮变灰以及对其重载的方法
  14. 关于闲鱼测试数据构造,我有几条心得
  15. 名帖168 李邕 行书《出师表》
  16. 顶级黑客泄密事件啼笑皆非
  17. 微信怎么防封几率大_域名被墙有哪些处理方法?域名被微信封了该怎么解决?
  18. mysql数据库设计与应用答案智慧树_智慧树_MySQL数据库设计与应用_答案全部
  19. Git - Gitee码云 使用手册
  20. 评《中国赛映射出巨大市场潜力 姚明希望CBA赶超NBA》

热门文章

  1. 法拉第效应维尔德常数_什么是法拉第效应?
  2. Cartographer保存建图轨迹
  3. 有效市场假说和盲点套利
  4. NLP(CAS10年NLP课程note)
  5. 方差的期望公式推导,均值的期望公式推导
  6. 女友问粉丝过万如何庆祝,我发长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学弟看了就懂
  7. sand()和rand()用法简介
  8. Photos(PHAsset)
  9. 将文件打包成zip包
  10. 水滴屏壁纸来了!有你喜欢的吗?