
gcc -lpthread 1.c -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), 父进程没有创建线程,因此它的值不会被改变。
有时有必要保存Linux进程的 进程标识号 (PID)。在本教程中,我们将介绍一种使用.pid文件 存储PID的常用方法 ,以及一个使用方法的示例。
很多时候,应用程序会将PID写入文件以便于访问,特别是守护进程。它只是 一个仅包含进程的PID文本 文件。没有特定的规则创建或使用。这仅仅是一个简单有用的约定。
下面从创建.pid文件的简单例子开始介绍.pid文件
我们可以在脚本中创建.pid文件的一种方法是将$$的输出传递到文件中:
$$是一个Linux变量,它返回调用它的进程的PID。在这种情况下,它是shell的PID。
写个脚本并且运行起来
执行脚本
在另一个窗口执行ps命令查看进程pid
使用.pid文件kill掉该进程的命令
再次ps则不会出现刚刚的进程
pgrep命令可以从.pid文件得到pid
欢迎访问 我的博客
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)