mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.3 KiB
1.3 KiB
job control
Objectives
You must follow the same principles as the first subject.
Job control refers to the ability to selectively stop (suspend) the execution of processes and continue (resume) their execution at a later point.
In job control
, you will have to implement the following builtins:
- jobs
- bg
- fg
- kill
You must also be able to stop jobs with the Ctrl + Z
.
Instructions
- The project has to be written in a compiled language like (C, Rust Go or other), interpreted languages like (Perl and others) are not allowed.
- The code must respect the good practices
This project will help you learn about:
- Job control
- Process creation and synchronization
- Commands syntax
- Scripting language
Usage
student$ ./0-shell
$ tar -czf home.tar.gz . &
[1] 8287
$ sleep 50 &
[2] 8870
$ jobs
[1]- Running tar -czf home.tar.gz . &
[2]+ Running sleep 50 &
$ jobs -l
[1]- 8287 Running tar -czf home.tar.gz . &
[2]+ 8870 Running sleep 50 &
$ kill 8287
[1]+ Terminated tar -czf home.tar.gz .
$ jobs
[2]+ Running sleep 50 &
$ exit
student$