What happens to the old stack, heap, and (initialized and uninitialized) data segments after execve() call?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
0
down vote

favorite












Manpage of execve() says




execve() executes the program pointed to by filename. This causes
the program that is currently being run by the calling process to be
replaced with a new program, with newly initialized stack, heap, and
(initialized and uninitialized) data segments.




What normally happens to the old "stack, heap, and (initialized and uninitialized) data segments"?



Are they deallocated if the calling process was not created by vfork()?



Before seeing the quote, I thought that execve() would overwrite the old "stack, heap, and (initialized and uninitialized) data segments". So I was surprised to see the quote, and wonder why waste the new space?



Thanks.









share

























    up vote
    0
    down vote

    favorite












    Manpage of execve() says




    execve() executes the program pointed to by filename. This causes
    the program that is currently being run by the calling process to be
    replaced with a new program, with newly initialized stack, heap, and
    (initialized and uninitialized) data segments.




    What normally happens to the old "stack, heap, and (initialized and uninitialized) data segments"?



    Are they deallocated if the calling process was not created by vfork()?



    Before seeing the quote, I thought that execve() would overwrite the old "stack, heap, and (initialized and uninitialized) data segments". So I was surprised to see the quote, and wonder why waste the new space?



    Thanks.









    share























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      Manpage of execve() says




      execve() executes the program pointed to by filename. This causes
      the program that is currently being run by the calling process to be
      replaced with a new program, with newly initialized stack, heap, and
      (initialized and uninitialized) data segments.




      What normally happens to the old "stack, heap, and (initialized and uninitialized) data segments"?



      Are they deallocated if the calling process was not created by vfork()?



      Before seeing the quote, I thought that execve() would overwrite the old "stack, heap, and (initialized and uninitialized) data segments". So I was surprised to see the quote, and wonder why waste the new space?



      Thanks.









      share













      Manpage of execve() says




      execve() executes the program pointed to by filename. This causes
      the program that is currently being run by the calling process to be
      replaced with a new program, with newly initialized stack, heap, and
      (initialized and uninitialized) data segments.




      What normally happens to the old "stack, heap, and (initialized and uninitialized) data segments"?



      Are they deallocated if the calling process was not created by vfork()?



      Before seeing the quote, I thought that execve() would overwrite the old "stack, heap, and (initialized and uninitialized) data segments". So I was surprised to see the quote, and wonder why waste the new space?



      Thanks.







      linux process exec





      share












      share










      share



      share










      asked 2 mins ago









      Tim

      24.1k67233419




      24.1k67233419

























          active

          oldest

          votes











          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f475654%2fwhat-happens-to-the-old-stack-heap-and-initialized-and-uninitialized-data-se%23new-answer', 'question_page');

          );

          Post as a guest



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f475654%2fwhat-happens-to-the-old-stack-heap-and-initialized-and-uninitialized-data-se%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?