Execute the command in linux, Computer Engineering

Assignment Help:

Now that the user's command has been parsed into an array of char*, we can pass this to the OS to execute the command. To execute the command, use the execvp() function from unistd.h. You will pass your command array to this function which will execute the command. Remember that if this function executes properly, it will terminate the current process; so, it should be executed in a child process. The child process can be created with the fork() function which is also in unistd.h. While the child process is executing the command, the parent process should wait for the child to finish executing. This is done by using the waitpid() function which can be found in sys/wait.h. As you are waiting on the child process, you will want to make this call blocking. You can do this by giving the WUNTRACED option to the waitpid() call which is defined in sys/types.h. Remember that if the execvp() function does not complete successfully, the child process will not end. As this will only happen when an error occurs, this would be a good place to print the error message. This can be done easily by calling the perror(NULL) function. Then be sure to end the child process by calling the exit() function. Once the command is done, you should print your prompt on a new line.


Related Discussions:- Execute the command in linux

Difference between the real mode and the protected mode, Problem (a) ...

Problem (a) Explain the difference between the real mode and the protected mode in the 80x86 family of processors. (b) The 32-bit physical address 047C:0048 is to be conv

How can we send data to external programs, How can we send data to external...

How can we send data to external programs? Using SPA/GPA parameters(SAP memory). Using EXPORT/IMPORT data (ABAP/4 memory)

Draw a diagram to illustrate the design pattern, Problem: (a) What show...

Problem: (a) What shows a Pattern a Pattern? (b) Which pattern is given below? Justify your answer. public class A { private static A instance = null; private A() {

Should validation occur server-side or client-side, Should validation (did ...

Should validation (did the user enter a real date) occur server-side or client-side? Why? Validation will be done in both sides i.e., at the server side and client side. Ser

Sun and nis law, Q. What is Sun and Nis Law? The Sun and Ni's Law is a ...

Q. What is Sun and Nis Law? The Sun and Ni's Law is a simplification of Amdahl's Law and Gustafson's Law. The basic concept underlying Sun and Ni's Law is to find solution to a

What do you understand by electronic funds transfer, What do you understand...

What do you understand by Electronic Funds Transfer?  Electronic Funds Transfer: It's an electronic payment method that transfers the money value from one bank account to

What is pure semiconductors, Q. What is Pure semiconductors? Pure semic...

Q. What is Pure semiconductors? Pure semiconductors, known as intrinsic semiconductors, have very few charge carriers and may hence be classified as almost insulators or very p

Number of addresses in an instruction, Generally the Instruction Set Archit...

Generally the Instruction Set Architecture (ISA) of a processor can be distinguished using five categories:  Operand Storage in the CPU - Where are the operands kept other t

Target_parent, TARGET = "_parent" "_parent" is used in a situation whe...

TARGET = "_parent" "_parent" is used in a situation where a frameset file is nested inside another frameset file. A link in one of the inner frameset documents that uses "_par

Labels in the sub trees, A sorting method which uses the binary tree concep...

A sorting method which uses the binary tree concept such that label of any node is larger than all  the labels in the sub trees, is called A Sorting method which uses the binar

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd