Module lessons (2/2)
Job control and logs (bg, fg, tail)
When using the terminal, you might want to run a long-term command without locking up the shell. Linux supports Job Control, which allows you to send processes to the background and switch them back to the foreground. In addition, you will learn how to monitor logs to check what is happening on the system.
Running Commands in the Background: & and jobs
To start a command directly in the background (releasing control of the terminal immediately), append the & (ampersand) character to the end of the command:
sleep 1000 &This command returns a job number (e.g., [1]) and a PID.
Listing Jobs: jobs
The jobs command lists the active processes associated with the current shell session that are running in the background or suspended:
jobsMoving Processes: fg, bg, and Ctrl+Z
If a command is running in the foreground and blocking the terminal, you can:
- Press
Ctrl + Zto suspend (pause) the current process. - Use the
bg(background) command to restart the suspended process in the background:Bashbg %1 # Restarts job 1 in the background - Use the
fg(foreground) command to bring a background process back to the foreground:Bashfg %1 # Brings job 1 to the foreground
Monitoring Logs: tail and journalctl
System and application logs record important events. Often, you need to observe these files in real-time as they are being written.
Viewing the End of a File: tail
The tail command displays the last lines of a file (default is 10 lines):
tail /var/log/syslog
tail -n 20 /var/log/syslog # Shows the last 20 linesTo monitor a file in real-time (for example, to see log messages generated while testing an application), use the -f (follow) option:
tail -f logs/server.logTry it yourself
Exercise 1: List active jobs
Display the list of current jobs (background or suspended processes) in the terminal session using the 'jobs' command.
Show hint
Use simply the 'jobs' command.
Solution available after 3 attempts
Exercise 2: Bring a job to the foreground
Bring the currently active background job to the foreground using the 'fg' command.
Show hint
Use the 'fg' command to bring the job back to the foreground.
Solution available after 3 attempts
Exercise 3: Check the last lines of a log
Display the last lines of the log file located at 'logs/server.log' using the 'tail' command.
Show hint
Use 'tail' followed by the file path: 'logs/server.log'.
Solution available after 3 attempts