holopengin/LinuxShell-CSE222

A basic Linux shell that run executables, and provides management of foreground and background processes

★ 0Forks 0CGitHub ↗Compare

README

CS:APP Shell Lab

See shlab.pdf for details of assignment.

PLEASE NOTE: This shell does not search PATH for executables, so the full path of an executable must be use to run anything.

Files:

  • Makefile: Compiles your shell program and runs the tests
  • README.md: This file
  • tsh.c: The shell program that you will write and hand in
  • tshref: The reference shell binary.

The remaining files are used to test your shell

  • sdriver.pl: The trace-driven shell driver
  • trace*.txt: The 15 trace files that control the shell driver
  • tshref.out: Example output of the reference shell on all 15 traces

Little C programs that are called by the trace files

  • myspin.c: Takes argument and spins for seconds
  • mysplit.c: Forks a child that spins for seconds
  • mystop.c: Spins for seconds and sends SIGTSTP to itself
  • myint.c: Spins for seconds and sends SIGINT to itself

Issues