Skip to content
This repository has been archived by the owner on Jan 20, 2024. It is now read-only.

Project developed in the scope of the subject Sistemas Operativos (Operating Systems) in the 2nd semester of the 2nd year of my degree.

Notifications You must be signed in to change notification settings

joaobaptista03/UMinho-Program-Executing-Monitoring-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Program Executing Monitoring

Description

This University project involves creating a C program that manages and monitors process executions in a Unix-like system. It features process creation, execution using fork-exec patterns, real-time monitoring through FIFOs (named pipes), and performance analysis by tracking execution times. The project aims to provide practical insights into operating systems' process management and inter-process communication.

Prerequisites

This program requires a Unix-like operating system and a C compiler. It has been tested on Ubuntu 20.04.

Building

To build the program, navigate to the main directory and run the following command:

make

Usage

To use the monitor, run the monitor executable. Then you'll need to open another terminal and run the tracer executable to execute commands while monitor's running.

The following arguments are supported in the tracer:

  • execute -u "prog-a arg1 [...] argN" - Executes a program.
  • execute -p "prog-a arg1 [...] argN | prog-b arg1 [...] argN | prog-c arg1 [...] argN" - Executes a pipeline of programs.
  • status - Get the status of all currently executing processes.
  • stats_time;pid1;pid2;...;pidN - Get the total execution time of a set of previously executed processes

About

Project developed in the scope of the subject Sistemas Operativos (Operating Systems) in the 2nd semester of the 2nd year of my degree.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages