13,420
edits
Changes
→Managing Processes
Users can '''manage processes''' to become more '''productive''' while working in the Unix / Linux Command-line environment.<br>Processes that run in the terminal are known as '''foreground''' processes. You can run or send processes currently running<br>in the ''foreground '' to the '''background''' to free-up your terminal (e.g. issue other Linux commands).<br><br>Below are a listing of common '''Linux commands''' and '''keyboard shortcuts''' to manage foreground and background processes:
<table cellpadding="5" width="80%"><tr valign="top"><th width="25%" style="border-bottom: 1px solid black;text-align:left;">Linux Command /<br>Key Combination</th><th style="border-bottom: 1px solid black;text-align:left;">Purpose</th></tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold;">ps</span></td><td>Displays snapshot information about processes.<br>''Examples: ''<span style="font-family:courier;font-weight:bold">ps , ps -l , ps -ef , ps -u , ps aux</span><br></td></tr><tr valign="top"><td>'''<span style="font-family:courier;font-weight:bold;">top</span>'''</td><td>The '''top''' command provides a realtime status of running processes.<br>'''NOTE:''' You can press '''ctrl-c''' to exit<br></td></tr><tr valign="top"><td><span style="font-family:courier;">'''ctrl-c'''</span></td><td>'''Terminates''' a process running in the foreground</td></tr><tr valign="top"><td><span style="font-family:courier;">'''ctrl-z'''</span></td><td>Sends a process running in the foreground into the '''background'''.</td></tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold;">fg</span></td><td>Moves a background job from the current environment into the foreground.<br>''Example: ''<span style="font-family:courier;font-weight:bold">fg %job-number</span></td></tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold;">bg</span></td><td>Runs (starts) the most recent process that was placed into the background.<br>''Example: ''<span style="font-family:courier;font-weight:bold">bg %job-number</span></td></tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold;">jobs</span></td><td>The '''jobs''' utility displays the '''status''' of jobs that were started in the current shell environment. ''Example:<br>''<span style="font-family:courier;">jobs<br>[1]+ Stopped vim a <span style="font-size:8pt;"> <-- Job #1 (+ most recent process / background)</span><br>[2] Running sleep 200 & <span style="font-size:8pt;"> <-- Job #2</span><br>[3] Running sleep 300 & <span style="font-size:8pt;"> <-- Job #3</span><br>[4]- Running sleep 400 &<span style="font-size:8pt;"> <-- Job #4 (- second recent process / background)</span><br><br></span></td></tr><tr valign="top"><td><span style="font-family:courier;font-weight:bold;">kill</span></td><td>The kill command sends the specified signal to the specified processes or process groups. If no signal is specified, the '''TERM''' signal is sent. The default action for this signal is to terminate the process.<br>''Examples:''<br><span style="font-family:courier;font-weight:bold;">kill PID , kill -9 PID , kill %job-number , <br>kill -9 %job-number</span></td></tr></table>