当前位置:  技术问答>linux和unix

初学linux的编程,问几个关于进程的问题

    来源: 互联网  发布时间:2015-08-09

    本文导语:  一个简单的程序 int main() {   int t=1;   int x;   while( (x=fork())==-1 ); //直到创建成功为止。      if( x==0 )   {      t++;     printf("t is %d",t);       exit(0);   }     else   {     t++;     printf("t is %d"...

一个简单的程序

int main()
{
  int t=1;
  int x;
  while( (x=fork())==-1 ); //直到创建成功为止。
  
  if( x==0 )
  { 
    t++;
    printf("t is %d",t);  
    exit(0);
  }  

  else
  {
    t++;
    printf("t is %d",t);
  }

  return 1;
}

请问怎么执行的结果都是
t is 2;
t is 2;
应该第二个t是3了啊?(因为前面t已经++了)。是因为创建了子进程,子进程把相关资源自己拷贝了一份吗?那我想让他们访问同一个变量怎么办?
还有是不是不能定义指针啊?我在变量定义那里加了 int *p; *p=t;结果编译能通过,但是一运行就提示段出错。

小弟初学,请指教。

|
1.各进程都拥有t的不同拷贝,2个进程各自加了1,原来是1,当然是2了
2.访问同一个变量,只能用共享内存了
3.你的*p首先要指向正确的内存地址啊

|
*p = t;
的意思是把指针p指向的那块内存付值t,

父子进程通过匿名映射实现共享内存:
#include 
#include 
#include 
#include 
typedef struct{
char name[4];
int  age;
}people;
main(int argc, char** argv)
{
int i;
people *p_map;
char temp;
p_map=(people*)mmap(NULL,sizeof(people)*10,PROT_READ|PROT_WRITE,MAP_SHARED|MAP_ANONYMOUS,-1,0);
if(fork() == 0)
{
sleep(2);
for(i = 0;i

    
 
 

您可能感兴趣的文章:

  • 初学,关于进程的简单问题
  • 初学.请帮忙看看fork的子进程读管道时为何阻塞!
  • 初学者的疑惑~~~关于信号量同步进程的
  • 都说《UNIX环境高级编程》好,对于学linux编程好不好?《Linux下的c编程》《嵌入式系统C编程》那个更适合初学者?各是那个出版社的?(
  • 想学linux编程(初学),我想从核心编程了解起,有什么经典一点的书吗?给介绍一本好吗?
  • 初学者问题,哪里有适合入门的编程电子书看 linux 下 c编程
  • 初学linux编程该选择哪本书?
  • Linux Shell编程从初学到精通 第四章课后习题2 求解
  • 编程技术其它 iis7站长之家
  • 初学Unix下的C编程,请高手推荐几本好的入门书。
  • 初学unix编程遇到的一个问题?
  • zt:向KDE/QT编程初学者推荐一个网站 from : 中国Linux公社 by :liskman
  • 初学Linux要看什么书?, 请问Linux下C语言编程怎么设置环境?
  • 菜鸟求教!--linux编程初学者
  • 初学Linux 编程,有个小问题?
  • 请问linux编程方面有哪些经典书籍(适用于初学者),包括英文版!!!!给分!!!
  • 初学者的问题,关于编程环境部署
  • 初学Linux编程,请过来人给个指导。
  • 关于Linux下C++编程的书籍都有什么?我是初学者!!!
  • [学习UNIX编程]初学UNIX编程,遇到一个小小的问题,烦劳大虾帮忙解惑,谢谢!
  • 初学内核编程,在内核态下怎么用socket通信?
  • 初学java网络编程的问题
  • 初学编程,很菜的问题。。为什么会出现这种错误?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 初学 java 的朋友来和我交朋友,我也是初学。我的 QQ 号是 33555085
  • 又一个初学者的困惑!如果您是个大虾,请你一定要进来看看,指点迷津!如果您也是个初学者,那么您也一定要进来,也许我们有一样的遭遇!
  • 初学者的问题我是linux初学者,我想问一下在windows里下载的大于1.44M文件如何转移到linux分区里?
  • 我是个初学者,希望指点明津
  • 初学者用什么工具好?JBUILDER?JDK?
  • 对于初学者应该看什么样的java书籍
  • 初学java应该看那些书?
  • 初学linux看哪本书好?
  • 初学java,该看那些书,请朋友们指教
  • 我是初学者,该用什么java的“编译器”????
  • 初学java什么书好?
  • 对于初学者应该看什么样的书
  • 初学者:不是问题的问题?
  • 初学者这样检验自己的学习效果呢?
  • 初学JAVA,用哪个软件来调试和编译程序?
  • 初学者的问题??在线等待。
  • 各位高手大家好,我是初学LINUX想请教几个问题
  • 初学者的疑问
  • 从初学Linux到内核开发
  • 初学java的话,从何入手呢?vj++,还是jbuilder?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3