Loading...

Messages

Proposals

Stuck in your homework and missing deadline? Get urgent help in $10/Page with 24 hours deadline

Get Urgent Writing Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework & Achieve A+ Grades.

Privacy Guaranteed - 100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Cs 149 sjsu

16/11/2020 Client: arwaabdullah Deadline: 3 days

When a UNIX-like system starts up, it runs init. Nowadays this is a program called systemd on UNIX-like systems. On Mac the similar system manager is called launchd. It runs under PID of 1 and is an ancestor of all other processes. You can see the process with command "ps aux". If a process is left as an orphan (its parent dies), it gets reassigned as a child of PID 1. These service programs (init, systemd or launchd) are running in the background; on UNIX-like OSs these are commonly referred to as daemons and generally have names ending with the letter “d.” These programs ensure that things start up properly and stay running. If a process crashes systemd (or launchd) can detect this and start it back up.
You will develop a proc_manager program that reads in the commands to execute from an input file one-by-one. You will read one command and its parameters per each line. Then the proc_manager program will start up the process and "babysit" it.You will run each command in a child process using exec (or one of its variants) and the parent process will wait for each exec to complete. For each child process there will be log messages written to output and error files, which are named after its index in the sequence of commands read in. For example, process #1 will have logs written to 1.out and 1.err. Upon start, the string "Starting command INDEX: child PID pid of parent PPID" will be logged to the corresponding output file 1.out. You can retrieve PID and PPID through the return value of fork() or getpid() or getppid().You can use dup2() to make file handle 1 (stdout) go to a file X.out and handle 2 (stderr) go to a file X.err. Note: new executions of a command should append to the previous output and error files, such as 1.out, rather than overwrite them.
Timer for each process: you can include the timer.h library and use timer to record the start time of spawning each child process in the parent. Upon finish of an exec (either a successful finish or termination via a signal), the process should record the finish runtime, and it should write to the output file the string "Finished at FIN, runtime duration DUR" where FIN is the finish time and DUR is the duration of the execution.
Each time a process finishes, the message "Exited with exitcode = X" should be written to the error file of the process. X is the process exit code. If the process was killed with a signal, then "Killed with signal S" should be written to the error file. S is the signal number that killed the process. This information is gathered using the status parameter of the wait() system call. If the program cannot be started (exec fails), use perror("name of command") to get the error message and command name and write them to the command's error file. Processes that encounter an invalid command (exec fails) should have an exit code of 2. Remember the exit code of 0 indicates success. Exit codes other than 0 indicate some failure, including a termination via a kill signal.Here is an example run:

./proc_manager cmdfile
Where cmdfile contains:

prompt> cat cmdfile

sleep 5

ls -latr

pwd

sleep 1

wc /etc/passwd
The parent will re-start the executable if the command took more than two seconds to complete. Therefore, a process restarts as long as its last execution took more than 2 seconds. If a process completed within less than 2 seconds after starting, proc_manager will not restart it and will print a message "spawning too fast" to the error file for the process. If it was terminated by a signal right after it started, or it had some other failure that caused it to exit immediately, it won't restart, since it exited immediately.
proc_manager runs until there are no more processes running. In this example the ls and wc commands won't get restarted because they finish right after they are started. The sleep runs for 3 seconds, so proc_manager will keep restarting it, unless we do "pkill sleep" in another terminal. If we do pkill fast enough, proc_manager will detect the quick duration and exit and not restart it. If any process has no child process then wait() returns immediately "-1", thus you can continue until wait() returns -1.

Grading
code compiles without errors or warnings -Wall on VirtualBox10%

correctly uses fork()10%

correctly uses wait*()10%

correctly uses dup2()10%

a version of exec is used correctly10%

the exit and signal codes and spawning messages are printed correctly10%

all processes run in parallel10%

an output and error file is created for each command10%

code is commented and indented (use of white space)10%

zip file contains proc_manager.c10%

Submission
Upload a zip file called proj3.zip that contains your source files that are needed to compile and run on VirtualBox (including proc_manager.c).

Homework is Completed By:

Writer Writer Name Amount Client Comments & Rating
Instant Homework Helper

ONLINE

Instant Homework Helper

$36

She helped me in last minute in a very reasonable price. She is a lifesaver, I got A+ grade in my homework, I will surely hire her again for my next assignments, Thumbs Up!

Order & Get This Solution Within 3 Hours in $25/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 3 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 6 Hours in $20/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 6 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 12 Hours in $15/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 12 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

6 writers have sent their proposals to do this homework:

Buy Coursework Help
Peter O.
Quality Homework Helper
Writer Writer Name Offer Chat
Buy Coursework Help

ONLINE

Buy Coursework Help

Hi dear, I am ready to do your homework in a reasonable price.

$62 Chat With Writer
Peter O.

ONLINE

Peter O.

Hello, I can assist you in writing attractive and compelling content on ganja and its movement globally. I will provide with valuable, informative content that you will appreciate. The content will surely hit your target audience. I will provide you with the work that will be according to the needs of the targeted audience and Google’s requirement.

$55 Chat With Writer
Quality Homework Helper

ONLINE

Quality Homework Helper

Hi dear, I am ready to do your homework in a reasonable price.

$62 Chat With Writer

Let our expert academic writers to help you in achieving a+ grades in your homework, assignment, quiz or exam.

Similar Homework Questions

How do you spell leprechaun - Civil air patrol colorado - How to add sensitivity report in excel - Andi van willigan net worth - Steel beam deflection tables - Eudaimonistic model of health - How are insects distinguished from other hexapods - Real life example of this investment name or company cd - Evidence based Practice - Shall i wasting in despair paraphrase - Chemistry ice table practice problems - Honeywell szl vl b - Mil std 2045 47001 - Abstract algebra help - Top down network design by priscilla oppenheimer - How to calculate maintenance cost - Litany carol ann duffy - Https edu gcfglobal org en excel2016 - Valley bank boca raton fl - Royal london governed portfolios - Curriculum Assignment - Buy property greek islands - Mini car club of nsw - Macbeth act 3 quotes - How to find dy dt - Basic networking terms and definitions pdf - Implementing Protocols and Improving Guest Services - Dobbins the things they carried - Mole and mass relationships lab answers - Determining water hardness by edta titration calculations - Aussie rules football poems - WK-4 - The turning tim winton movie - Quotes for scout in to kill a mockingbird - The developing child homework activities answer key chapter 4 - Chicago referencing style unimelb - Call of the wild study questions - Which is the most stable oscillator - Square groove weld symbol - Ab calculus velocity and other rates of change homework answers - Identify the four challenges associated with e business - Nursing diagnosis of crohn's disease - Thickness measurement using lvdt - Assignment - Short examples of imagery - Penelopiad and photograph 51 - 2 essay question, need it in one hour 800 words each - Week 6 Discussion Response to Classmates - Pharmacology final exam nursing - Crab eating fox diet - Neptune company produces toys and other items - Liberty bible commentary old and new testament - Australian consulate jobs overseas - Safety map worksafe victoria - Communication in Organizations - Cardini's caesar dressing australia - Which of the sdlc models is the most rigid in its use in developing an information system? - Find the cartesian equation of the plane - Army bfa standards australia - Unilever's new global strategy case study - Past tense of build - Interactive session management - Arema manual chapter 8 pdf - Themes of remember the titans - United church of god sabbath - For a data set of chest sizes - Straw bridge challenge instructions - Business - Describe athena's changes to odysseus's appearance - Herrmann brain test free - Gym database management system project - Semantic feature analysis words - Field property claims adjuster farmers - Barbara has just been diagnosed with celiac disease - Hoa lac hi tech park - 1.1 10 practice written assignment - Harley davidson entry strategies for global expansion - ACC561 Week 6 Managerial Analysis - Diebold technical support interview questions - Lost dog budweiser commercial song - Tips for Taking a Semester off From College - 521 Week 5 Field Activity Paper - How to use flowgorithm - A focused differentiation strategy aims at securing competitive advantage - An external website permitting users to browse and purchase widgets - Research, identify, and briefly describe at least four ways that networks contribute to business success. - Storytelling from prehistoric caves to modern cinemas answers - Job costing versus process costing - HI300-4: Formulate a secure storage and retrieval process for healthcare data. - What is the average total cost of production when the firm produces 120 lanterns? - Psychiatric mental health nursing videbeck 7th edition pdf - Character evolution essay - Write a one page critical reflection on this chart - York region land registry office - Our vanishing night by verlyn klinkenborg - Psychologyy - 414 lower dandenong road braeside - Concentric tube heat exchanger - Valvuloplasty tricuspid valve with ring insertion - Class Journal