Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Using the SEED labs running on Ubuntu 16.04, Please help with the following steps of this task. Thanks! In this task, we study how environment

Using the SEED labs running on Ubuntu 16.04, Please help with the following steps of this task. Thanks! In this task, we study how environment variables are affected when a new program is executed via execve(). The function execve() calls a system call to load a new command and execute it; this function never returns. No new process is created; instead, the calling processs text, data, bss, and stack are overwritten by that of the program loaded. Essentially, execve() runs the new program inside the calling process. We are interested in what happens to the environment variables; are they automatically inherited by the new program?

Step 1. Please compile and run the following program, and describe your observation. This program simply executes a program called /usr/bin/env, which prints out the environment variables of the current process.

#include

#include

extern char **environ;

int main() {

char *argv[2];

argv[0] = "/usr/bin/env";

argv[1] = NULL;

execve("/usr/bin/env", argv, NULL);

return 0 ;

}

Step 2. Change the invocation of execve() in Line to the following; describe your observation. execve("/usr/bin/env", argv, environ);

Step 3. Please draw your conclusion regarding how the new program gets its environment variables.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Automating Access Databases With Macros

Authors: Fish Davis

1st Edition

1797816349, 978-1797816340

More Books

Students also viewed these Databases questions