/JobCommander

A unix job executer interface

Primary LanguageCOtherNOASSERTION

JobCommander

Description

A unix job executer interface written in C. Implementing a Server-Client architecture.
When first called jobCommander Creates a jobExecutorServer. Job Commander then communicates with the Server through a named pipe using signals and semaphores. The Server executes jobs using fork-exec and Stores the jobs waiting to be executed in a FIFO. JobCommander can ask the server for the running|queued processes.

Usage

./jobCommander [OPTION] [ARGUMENT]
      issuejob [Job]: issue a job
      setConcurrency [int]: Set How many processes can run Concurrently
      poll [running | waiting]: Show running processes or processes waiting to be executed
      stop [Pid]: Stop an issued Job
      exit: Stop jobCommander and kill all running processes

Files

  • allJobsStop.sh

    Bash script that recieves all processes running by jobCommander and then using JobCommader again it kills them

  • multijob.sh

    Bash script that issues JobCommander to execute every job written in a file passed as an argument (Commands.txt)

  • MemSemHandle.h/MemSemHandle.c

    All functions necessary by semaphores

  • queue.c/queue.h

    Implemetation of fifo queue

  • jobCommander.c

    Job Commander implementation

  • rmsem.sh

    Community bash script, deleting all semaphores in case of a unhealthy program termination