linux创建进程后,进程的pid如何分配,最好说出具体函数

linux创建进程后,进程的pid如何分配,最好说出具体函数,第1张

你用了pthread库,在链接的时候要加上

gcc -lpthread 1c -o 1

即可

进程(对应pid==0语句)调用pthread接口创建线程,在县城内将value赋值5,然后打印 CHILD: value=%d\n 此时value = 5

父进程 (对应 pid > 0 语句),等待子进程执行完成后(wait语句),打印PARENT: value=%d\n ,此时value = 0

对于你补充问题的回答:

线程是在子进程里创建的,它只改变了子进程的value (子进程和父进程的value处在不同的地址空间,互相没有关系,而子进程和它所创建的线程是在同一地址空间,所以线程可以改变子进程的value), 父进程没有创建线程,因此它的值不会被改变。

每个参数意思为:

参数 解释

pid=6873 进程(包括轻量级进程,即线程)号

comm=aout 应用程序或命令的名字

task_state=R 任务的状态,R:runnign, S:sleeping (TASK_INTERRUPTIBLE), D:disk sleep (TASK_UNINTERRUPTIBLE), T: stopped, T:tracing stop,Z:zombie, X:dead

ppid=6723 父进程ID

pgid=6873 线程组号

sid=6723 c该任务所在的会话组ID

tty_nr=34819(pts/3) 该任务的tty终端的设备号,INT(34817/256)=主设备号,(34817-主设备号)=次设备号

tty_pgrp=6873 终端的进程组号,当前运行在该任务所在终端的前台任务(包括shell 应用程序)的PID。

task->flags=8388608 进程标志位,查看该任务的特性

min_flt=77 该任务不需要从硬盘拷数据而发生的缺页(次缺页)的次数

cmin_flt=0 累计的该任务的所有的waited-for进程曾经发生的次缺页的次数目

maj_flt=0 该任务需要从硬盘拷数据而发生的缺页(主缺页)的次数

cmaj_flt=0 累计的该任务的所有的waited-for进程曾经发生的主缺页的次数目

utime=1587 该任务在用户态运行的时间,单位为jiffies

stime=1 该任务在核心态运行的时间,单位为jiffies

cutime=0 累计的该任务的所有的waited-for进程曾经在用户态运行的时间,单位为jiffies

cstime=0 累计的该任务的所有的waited-for进程曾经在核心态运行的时间,单位为jiffies

priority=25 任务的动态优先级

nice=0 任务的静态优先级

num_threads=3 该任务所在的线程组里线程的个数

it_real_value=0 由于计时间隔导致的下一个 SIGALRM 发送进程的时延,以 jiffy 为单位

start_time=5882654 该任务启动的时间,单位为jiffies

vsize=1409024(page) 该任务的虚拟地址空间大小

rss=56(page) 该任务当前驻留物理地址空间的大小

Number of pages the process has in real memory,minu 3 for administrative purpose

这些页可能用于代码,数据和栈。

rlim=4294967295(bytes) 该任务能驻留物理地址空间的最大值

start_code=134512640 该任务在虚拟地址空间的代码段的起始地址

end_code=134513720 该任务在虚拟地址空间的代码段的结束地址

start_stack=3215579040 该任务在虚拟地址空间的栈的结束地址

kstkesp=0 esp(32 位堆栈指针) 的当前值, 与在进程的内核堆栈页得到的一致

kstkeip=2097798 指向将要执行的指令的指针, EIP(32 位指令指针)的当前值

pendingsig=0 待处理信号的位图,记录发送给进程的普通信号

block_sig=0 阻塞信号的位图

sigign=0 忽略的信号的位图

sigcatch=082985 被俘获的信号的位图

wchan=0 如果该进程是睡眠状态,该值给出调度的调用点

nswap 被swapped的页数,当前没用

cnswap 所有子进程被swapped的页数的和,当前没用

exit_signal=17 该进程结束时,向父进程所发送的信号

task_cpu(task)=0 运行在哪个CPU上

task_rt_priority=0 实时进程的相对优先级别

task_policy=0 进程的调度策略,0=非实时进程,1=FIFO实时进程;2=RR实时进程

以上就是关于linux创建进程后,进程的pid如何分配,最好说出具体函数全部的内容,包括:linux创建进程后,进程的pid如何分配,最好说出具体函数、PID参数如何解释、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9524891.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存