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

Need a rewrite on purchasing &Vendor Management week two - Workstation domain risks - Human brain clay model - Coca cola company mission vision and objectives - English writing - Exercise 5 - Chemistry final - The objectification of women whose fault is it - What passing bells for these who die as cattle analysis - Cipd level 7 employment law assignment examples - Common aseptic transfers and inoculation methods data sheet - Shigley's mechanical engineering design 10th edition solutions chapter 4 - Colbar qsr pty ltd - Discussion Board - Quality improvement plan checklist - HR management - English writing homework - Speedup efficiency and throughput in pipelining - Cert 4 education support tafe sa - Diagnostic prescriptive evaluative dpe teaching - Cultural interview paper - A21 technician reset required - Movie the rape of europa - Massage envy soap notes - What is negative tropism - Chang ho is going on a trip answers - Analyzing supreme court case - Post audit process in capital budgeting - 1810 kj to cal - Potassium chromate experiment - Monifieth parish church website - Bsbwor501 manage personal work priorities and professional development - Machine learning - Public relations lecture notes - Arduino measure elapsed time - Diversity trends in leadership - Dust echoes mermaid story - Difference between paper and thin layer chromatography - Wk 1 prject NSG 5000 - When i consider how my life is spent - Prisoners abroad finsbury park - Computer - Frontline inside the meltdown answers - Two-fold serial dilutions concentrations - During the renaissance the unusual practice of shaving eyebrows - Where To Order The NZ Army Patches? - Monitoring toddlers and technology thesis statement - Ethical thought - Empirical referents of palliative care - Article review - Martin name meaning in the lottery - Nephew tommy kidney prank call uncut - Sap srm integration with s 4 hana - Journeymap 5.0.1 - Career counseling case study format - North bristol post 16 - How does vsepr affect the shape of molecules - Conformity and rebellion essay - How all five senses impact perception powerpoint - One stop sensory shop - Sophos management communications system - Organizational culture and leadership schein 4th edition pdf - Internship Assignment - What is 1 10 net 30 - Cert ii in electrotechnology pre apprenticeship - Mo co 6 pph3 - Woodcock reading mastery test word attack - Price elasticity from tires to toothpicks answers - Descriptive Essay - Management strategy, planning and implementation - Jk flip flop lab experiment - All uml diagrams for hotel management system pdf - Beetroot pigment experiment biology - Who wants to be a millionaire question template - Dulux mt aspiring half - Propose a nursing informatics project for your organization - Chapter 1 critical thinking exercises - Outsiders in the crucible - Ironic exclamation of amazement crossword clue - 0.1 n hcl sds - Rhetorical Analysis - The jewish way of doing business den fujita book - Everyone needs forgiveness the kindness of a savior - Batman arkham asylum synthesize anti titan compound - Hw2 - Protective measure electrical separation - Need Someone to complete this ASAP!!!! - Critical analysis of corporate social responsibility - Caroline bowen phonological processes - Cowdroy triumph installation instructions - Lyell mcewin hospital gastroenterology - Should everyone go to college rhetorical analysis - Formula for threshold voltage - The eve of st agnes stanza 23 analysis - Paper - Philosophy - How to calculate reference voltage - Briefly describe four major components of the data warehousing process - Capstone Research Companion - Question - 2017 vce english exam