Command execution
Parse commands and launch programs using the operating system's process model.
fork() + execve()FlameOShell is a lightweight Unix-like shell built in C, featuring process management, pipes, redirection, background jobs, job control, and signal handling.
FlameOShell brings together the fundamental Unix process and shell concepts into one lightweight program.
Parse commands and launch programs using the operating system's process model.
fork() + execve()Connect processes together and move output from one command directly into another.
pipe()Redirect standard input and output using files, just like a traditional Unix shell.
open() + dup2()Run processes in the background while keeping the shell available for more commands.
& + jobsMove processes between foreground and background execution with shell-level job management.
fg + bgHandle process signals and terminal events while maintaining control of running jobs.
sigaction()This browser terminal is a demo of the FlameOShell experience. Type a command below and see what happens.
A shell looks simple from the outside. Underneath, it is coordinating processes, file descriptors, signals, and the operating system.
The shell receives a command from the user.
Arguments, pipes, redirection and job modifiers are interpreted.
Processes are created and connected using system calls.
The operating system runs the requested command.
Clone the repository, build it locally, and launch FlameOShell from your own terminal.
git clone https://github.com/raynerdcunha/flameoshell.git