project lookup

lookup:
lab5/part1mdb-lookup-server over netcatfork, exec, pipes, FIFOs, process trees, dup2Turns a terminal program into a network service without writing any socket code: a named pipe plus netcat plus mdb-lookup, wired together with fork and exec. Two variants, one driving a shell script and one running several servers at once.
deploy/http-serverhardening the lab server for the public internetfork per connection, SIGCHLD, alarm, SO_RCVTIMEO, load sheddingThe lab version handled one connection at a time, so a single idle client froze everyone. This build forks per connection, reaps children, caps concurrency, and times out slow requests. Also fixes an out-of-bounds write reachable by sending a bare CRLF.
deploy/projdb-serverprojdb-server: the database behind this searchfork, preloaded linked list, case-insensitive search, loopback bindSpeaks the same one-line protocol as lab6 so http-server needed no changes to talk to it. Loads this text file once at startup instead of per connection, does not truncate search keys to five characters, and binds to loopback only.
concepts/processesprocess control threadfork, exec, wait, waitpid, pipes, signals, zombiesStarts with wiring processes together through pipes in lab5 and ends with a forking server that has to reap its own children. SIGCHLD handling is the difference between a server that runs for a week and one that fills the process table.
portfolio/http-serverHTTP Server in Csockets, fork, linked lists, HTTP/1.0, Cloudflare tunnelAn iterative TCP server on the raw socket API, serving static files and records from a database also written in C. The write-up you are reading is served by it.