All Projects → skywalker212 → tiny-shell

skywalker212 / tiny-shell

Licence: other
A bash-like shell that performs basic functions of a shell. Made as a project for my course of System Software.

Programming Languages

c
50402 projects - #5 most used programming language
perl
6916 projects
Makefile
30231 projects

Projects that are alternatives of or similar to tiny-shell

TraceHub
Centralized and distributed logging for Web applications and services, extending System.Diagnostics and Essential.Diagnostics, providing structured tracing and logging withou needing to change 1 line of your application codes
Stars: ✭ 22 (-58.49%)
Mutual labels:  trace
TraceEvent
Trace events in real time sessions
Stars: ✭ 26 (-50.94%)
Mutual labels:  trace
dotnet-monitor-ui
This project is created as an easy to access user experience for dotnet-monitor tool which can be found here. dotnet-monitor is on demand tool which can be used on .NET Core applications to get memory dumps, traces and metrics of a running application.
Stars: ✭ 38 (-28.3%)
Mutual labels:  trace
autosvg
Autosvg is tracing tool, which can convert image format like (jpg,png,gif) into vector
Stars: ✭ 35 (-33.96%)
Mutual labels:  trace
opencensus-go-exporter-stackdriver
OpenCensus Go exporter for Stackdriver Monitoring and Trace
Stars: ✭ 65 (+22.64%)
Mutual labels:  trace
go-sensor
🚀 Go Distributed Tracing & Metrics Sensor for Instana
Stars: ✭ 90 (+69.81%)
Mutual labels:  trace
ApplicationInsights-Ruby
Microsoft Application Insights SDK for Ruby
Stars: ✭ 30 (-43.4%)
Mutual labels:  trace
gitlab-job-log-viewer
Browser extension for code highlighting raw logs in Gitlab CI
Stars: ✭ 21 (-60.38%)
Mutual labels:  trace
zipkin-ruby-opentracing
OpenTracing Tracer implementation for Zipkin in Ruby
Stars: ✭ 15 (-71.7%)
Mutual labels:  trace
handwriting.js
A simple API access to the handwriting recognition service of Google IME
Stars: ✭ 89 (+67.92%)
Mutual labels:  trace
peekaboo
An standalone execution trace library built on DynamoRIO.
Stars: ✭ 17 (-67.92%)
Mutual labels:  trace
barectf
Generator of ANSI C tracers which output CTF data streams
Stars: ✭ 50 (-5.66%)
Mutual labels:  trace
TraceR
Trace Replay and Network Simulation Framework
Stars: ✭ 17 (-67.92%)
Mutual labels:  trace
tracelog
TraceLog is a highly configurable, flexible, portable, and simple to use debug logging system for Swift and Objective-C applications running on Linux, macOS, iOS, watchOS, and tvOS.
Stars: ✭ 52 (-1.89%)
Mutual labels:  trace
zipkin-cpp-opentracing
OpenTracing Tracer implementation for Zipkin in C++
Stars: ✭ 46 (-13.21%)
Mutual labels:  trace
theia-trace-extension
Theia trace viewer extension using the tsp-typescript-client (https://github.com/theia-ide/tsp-typescript-client) and Trace Server Protocol (https://github.com/theia-ide/trace-server-protocol).
Stars: ✭ 38 (-28.3%)
Mutual labels:  trace
fridaMemoryAccessTrace
android memory access trace utility powered by frida framework
Stars: ✭ 134 (+152.83%)
Mutual labels:  trace
think-trace
Error trace for ThinkJS 3.x
Stars: ✭ 12 (-77.36%)
Mutual labels:  trace
ctrace-go
Canonical OpenTracing for GoLang
Stars: ✭ 12 (-77.36%)
Mutual labels:  trace
FormTracer
A Mathematica Tracing Package Using FORM
Stars: ✭ 16 (-69.81%)
Mutual labels:  trace

Tiny Shell

By Akash Gajjar

Requirements

Knowledge of c programming, linux commandline and linux processes is required to understand this piece of code.

Brief Intro

This is a part of an assignment in my course of System Software. This is a look alike shell program and it has a limited functionality. It is an easy project if you follow getting started pdf.

Files

  • Makefile - Compiles your shell program and runs the tests
  • README.md - This file
  • tsh.c - The heart of this whole project
  • tshref - The reference shell binary.

Wraping the head around

  • run make test<testnumber> to run tests on tsh which are specified in the trace files
  • run make rtest<testnumber> to compare the tsh output with tshref (which is the reference shell)

Screenshots

test1

The files that are used to test shell

  • sdriver.pl # The trace-driven shell driver
  • trace*.txt # The 15 trace files that control the shell driver

Little C programs that are called by the trace files

  • myspin.c - Takes argument n and spins for n seconds
  • mysplit.c - Forks a child that spins for n seconds
  • mystop.c - Spins for n seconds and sends SIGTSTP to itself
  • myint.c - Spins for n seconds and sends SIGINT to itself
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].