32
Process Viewer Using C++, MySQL Developed By Mahesh Meniya & Vimal Moliya MCA Students Project Guide Mr. Amit Kothari (Asst. Prof., MEFGI, Rajkot)

Process viewer

Embed Size (px)

DESCRIPTION

Process Viewer application which is useful for managing various processes and process log with user friendly environment. This presentation describes various technical aspect of this project.

Citation preview

Page 1: Process viewer

Process ViewerUsing C++, MySQL

Developed ByMahesh Meniya & Vimal Moliya

MCA Students

Project GuideMr. Amit Kothari (Asst. Prof., MEFGI, Rajkot)

Page 2: Process viewer

Developed By

MAHESH J. MENIYA (115220693048)VIMAL B. MOLIYA (115220693020)

Page 3: Process viewer

Contents

• What is process ?• Overview of application• Learning Objectives• User interaction• Application functions• Application Architecture• Technology used• Database Structure• Class Diagram• Sample coding• User Interface• Future Enhancement

• What is process ?• Overview of application• Learning Objectives• User interaction• Application functions• Application Architecture• Technology used• Database Structure• Class Diagram• Sample coding• User Interface• Future Enhancement

Page 4: Process viewer

What is process ?

In computing, a process is an instance of acomputer program that is being executed. It containsthe program code and its current activity. A processmay be made up of multiple threads of execution thatexecute instructions concurrently.

A computer program is a passive collection ofinstructions; a process is the actual execution of thoseinstructions. Several processes may be associated withthe same program; for example, opening up severalinstances of the same program often means more thanone process is being executed.

In computing, a process is an instance of acomputer program that is being executed. It containsthe program code and its current activity. A processmay be made up of multiple threads of execution thatexecute instructions concurrently.

A computer program is a passive collection ofinstructions; a process is the actual execution of thoseinstructions. Several processes may be associated withthe same program; for example, opening up severalinstances of the same program often means more thanone process is being executed.

Page 5: Process viewer

Overview

Process Viewer provides facilities like viewrunning process with their memory consumption,process start-time, kill selected process, view thefully qualified path from where .exe file is resides andmore important it manage user wise history forfurther usage.

Process Viewer is multi threaded applicationthat provides various useful functions for processesand application running in user system.“

Process Viewer provides facilities like viewrunning process with their memory consumption,process start-time, kill selected process, view thefully qualified path from where .exe file is resides andmore important it manage user wise history forfurther usage.

Page 6: Process viewer

Learning Objectives

C++ OOPS Funda• Inheritance• Exception handling• Virtual function• Friend function• Operator overloading

(<< for Display O/P)• Namespace• Run Time Type Identification

(RTTI)• Method Overloading• Template (generic Programming)• Enum• And other general OOPS funda

Advanced Funda• Linked List (Data structure)• Multi-Threading• System Programming• Database application• Partially ORM implementation

C++ OOPS Funda• Inheritance• Exception handling• Virtual function• Friend function• Operator overloading

(<< for Display O/P)• Namespace• Run Time Type Identification

(RTTI)• Method Overloading• Template (generic Programming)• Enum• And other general OOPS funda

Advanced Funda• Linked List (Data structure)• Multi-Threading• System Programming• Database application• Partially ORM implementation

Page 7: Process viewer

User Interaction

Page 8: Process viewer

Application FunctionsView Processes

Shows list of running processes including informationlike process Id, process name and process memory usageand starting time. List will be refresh when new processarrives or terminate.

Kill ProcessUser can terminate unwanted process.

Process PathUser can view full path of executable component

though can be also useful in detection and removingspyware , virus or any unwanted process/Application. Inprocess viewer show path where component is loaded.

View ProcessesShows list of running processes including information

like process Id, process name and process memory usageand starting time. List will be refresh when new processarrives or terminate.

Kill ProcessUser can terminate unwanted process.

Process PathUser can view full path of executable component

though can be also useful in detection and removingspyware , virus or any unwanted process/Application. Inprocess viewer show path where component is loaded.

Page 9: Process viewer

Application FunctionsHistory

Process viewer manage user-wise process log as ahistory. Application doesn’t require user authentication itwork on system authentication So, There is no need forremember username and password. User can view onlyhis/her history for particular time interval. It displaysprocess name, process start-End Date&Time.

So user can let know which process had start andwhen it was terminated.

Run in BackgroundThis application can also run in background. User

can also back from background mode.

HistoryProcess viewer manage user-wise process log as a

history. Application doesn’t require user authentication itwork on system authentication So, There is no need forremember username and password. User can view onlyhis/her history for particular time interval. It displaysprocess name, process start-End Date&Time.

So user can let know which process had start andwhen it was terminated.

Run in BackgroundThis application can also run in background. User

can also back from background mode.

Page 10: Process viewer

Understanding Application Architecture

Page 11: Process viewer

Technology Used

MySQL, the most popular Open source, relationaldatabase management system, is developed,distributed, and supported by Oracle Corporation.

Pthread

The POSIX thread libraries are a standards basedthread API for C/C++. It is most effective where theprocess flow can be scheduled to run on anotherprocessor thus gaining speed through parallel ordistributed processing.

Pthread

Page 12: Process viewer

Database Structure

Sample Data & Relation

Page 13: Process viewer

Class Diagram

Class Diagram for -

1. Process Module2. Database Module3. Threading Module4. User-Interface Module

Class Diagram for -

1. Process Module2. Database Module3. Threading Module4. User-Interface Module

Page 14: Process viewer

Class diagram for Process Module1. p_data

contain data aboutprocess

2. p_operationManage processIn linked list

3. view_processdisplay info. Ofprocesses

4. kill_processmanage operationfor kill process

1. p_datacontain data aboutprocess

2. p_operationManage processIn linked list

3. view_processdisplay info. Ofprocesses

4. kill_processmanage operationfor kill process

Page 15: Process viewer

Class diagram for Database Module1. database

Interact withdatabase

2. Field_valueContainer class forfield & value

3. dttimecontainer class forprocess date&time

4. usermanage user data

5. Datatypeenum for datatype

1. databaseInteract withdatabase

2. Field_valueContainer class forfield & value

3. dttimecontainer class forprocess date&time

4. usermanage user data

5. Datatypeenum for datatype

Page 16: Process viewer

Class diagram for Threading Module1. p_thread

Base class forthreading

2. th_refreshDerived class fromp_thread refresheslinked list

3. t_stateenum for threadstate

1. p_threadBase class forthreading

2. th_refreshDerived class fromp_thread refresheslinked list

3. t_stateenum for threadstate

Page 17: Process viewer

Class diagram for user interface Module1. menu

Class for createmenu

2. consoleClass for variousconsole reletedfunction

3. windowclass for window

1. menuClass for createmenu

2. consoleClass for variousconsole reletedfunction

3. windowclass for window

Page 18: Process viewer

Coding Sample

Page 19: Process viewer
Page 20: Process viewer

Main Menu

Page 21: Process viewer

Viewing details about Running Processes

Page 22: Process viewer

Kill Process (Input)

Page 23: Process viewer

Kill Process (result)

Page 24: Process viewer

Kill Process (Process not found)

Page 25: Process viewer

View Path

Page 26: Process viewer

History (Invalid Input)

Page 27: Process viewer

History (Input)

Page 28: Process viewer

History Viewing (Page 1)

Page 29: Process viewer

History Viewing (Page 2)

Page 30: Process viewer

Future Enhancement

• Create new task using Application• Set priority for Process• Improve User Interface

Page 31: Process viewer

References & Resources

• Programming with ANSI C++ (Bhushan Trivedi)• Microsoft Developer Network (MSDN)

(http://msdn.microsoft.com)

• Threading using pthread(https://computing.llnl.gov/tutorials/pthreads)

• Stackoverflow(http://stackoverflow.com)

• Our Own Ideas

• Programming with ANSI C++ (Bhushan Trivedi)• Microsoft Developer Network (MSDN)

(http://msdn.microsoft.com)

• Threading using pthread(https://computing.llnl.gov/tutorials/pthreads)

• Stackoverflow(http://stackoverflow.com)

• Our Own Ideas

Page 32: Process viewer

Thanks to,

We would like to thanks Marwadi EducationFoundation providing such platform to develop andpresent our project – ”Process Viewer”.

Thank you.

We would like to thanks Marwadi EducationFoundation providing such platform to develop andpresent our project – ”Process Viewer”.

Thank you.