Systems Programming/ C and UNIX
Systems Programming/ C and UNIX Alice E. Fischer November, 2017 Alice E. Fischer Systems Programming { Lecture 10. 1/8 November, 2017 1 / 8 Outline 1 Jobs and Job Control 2 Foreground, Background, and Suspension 3 Detached Processes Alice E. Fischer Systems Programming { Lecture 10. 2/8 November, 2017 2 / 8 Jobs and Job Control A Job is a Process. We use the term job to refer to a process that is controlled by a shell. Once started, each job is either in the foreground, running in the background, or suspended. Starting a job the normal way puts it in the foreground: ∼> server2 To start a job in the background, use an ampersand: ∼> server2 & The shell will start the background job, then return immediately to you so that you can start another job that will run concurrently. The output from the background job will still come to the terminal screen. To suspend the foreground process, type ^Z The suspended job will stop running, but can be restarted. To resume a job after suspension, type ps to find its job number, n then type fg %n or bg %n If you start a job in the background, your shell will control it. Alice E. Fischer Systems Programming { Lecture 10. 3/8 November, 2017 3 / 8 Jobs and Job Control Job Control: server2 and the three clients To prepare for this experiment, I used a shell to start the server: ∼> server2 I opened a second shell and listed the jobs it was controlling: ∼> jobs The list was empty. Then I used the same shell to start three clients at the same time, all running in the background ∼> clientM localhost & clientJ localhost & client & Typing jobs again for this shell, we see: ∼> jobs [1] + Running clientJ localhost [2] - Running clientM localhost [3] Running client localhost Alice E.
[Show full text]