Process Manager Interface Narayan Desai, Rusty Lusk, Rick Bradshaw.

Slides:



Advertisements
Similar presentations
IF statement (i) Single statement. IF ( logical expression ) statement Example: read(*,*) a if (a. lt. 0) a = -a write(*,*) a Or read(*,*) a if (a < 0)
Advertisements

Linux Shell Script. Shell script The first line is used to specify shell program #!/bin/sh Variables variable=“text” variable=0 variable=`program arguments`
Introduction to Unix – CS 21 Lecture 11. Lecture Overview Shell Programming Variable Discussion Command line parameters Arithmetic Discussion Control.
2006-Jan-231 Shell Scripts Jacob Morzinski
CS Lecture 03 Outline Sed and awk from previous lecture Writing simple bash script Assignment 1 discussion 1CS 311 Operating SystemsLecture 03.
CS 497C – Introduction to UNIX Lecture 33: - Shell Programming Chin-Chih Chang
Linux+ Guide to Linux Certification, Second Edition
SWiM Panel on Engine Implementation Jennifer Widom.
Shell Programming 1. Understanding Unix shell programming language: A. It has features of high-level languages. B. Convenient to do the programming. C.
Bash Shell Scripting 10 Second Guide Common environment variables PATH - Sets the search path for any executable command. Similar to the PATH variable.
Graphical User Interfaces A Quick Outlook. Interface Many methods to create and “interface” with the user 2 most common interface methods: – Console –
Resource Management Reading: “A Resource Management Architecture for Metacomputing Systems”
Lab 8 Shell Script Reference:
Week 7 Working with the BASH Shell. Objectives  Redirect the input and output of a command  Identify and manipulate common shell environment variables.
Chapter 5 Bourne Shells Scripts By C. Shing ITEC Dept Radford University.
Shell Scripting Todd Kelley CST8207 – Todd Kelley1.
Bash shell programming Part II – Control statements Deniz Savas and Michael Griffiths November 2005 Corporate Information and Computing Services The University.
Process Management Working Group Process Management “Meatball” Dallas November 28, 2001.
ASP.NET Programming with C# and SQL Server First Edition Chapter 3 Using Functions, Methods, and Control Structures.
Google C++ Testing Framework Death Tests. In many applications, there are assertions that can cause application failure if a condition is not met. ◦ Square.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 6 System Calls OS System.
Linux+ Guide to Linux Certification, Third Edition
Linux+ Guide to Linux Certification Chapter Eight Working with the BASH Shell.
Bash shell programming Part II – Control statements Deniz Savas and Michael Griffiths Corporate Information and Computing Services The University.
1 © 2001 John Urrutia. All rights reserved. Chapter 10 using the Bourne Again Shell.
Syntax Discussion. 2 The “Stack” Components original ANL components: PM, NSM, SD, EM SSSDK,SSSLIB-using versions of Sched, QM, others Custom utilities.
Control Structures By Shyam Gurram. Control Structure In this chapter we have two different types of structures. Conditional Structure Iterative Control.
Chapter 10: BASH Shell Scripting Fun with fi. In this chapter … Control structures File descriptors Variables.
Chapter 3 Functions, Events, and Control Structures JavaScript, Third Edition.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 Reusing threads.
(A Very Short) Introduction to Shell Scripts CSCI N321 – System and Network Administration Copyright © 2000, 2003 by Scott Orr and the Trustees of Indiana.
©Colin Jamison 2004 Shell scripting in Linux Colin Jamison.
Artificial Intelligence Lecture No. 26 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Shell Script2 Reference: Linux Shell Scripting Tutorial v1.05r3 A Beginner's handbook
AP Computer Science A – Healdsburg High School 1 Unit 9 - Why Use Classes - Anatomy of a Class.
Shell Programming Features “Full” programming language “Full” programming language Conditional statements Conditional statements Arithmetic, String, File,
SSS Build and Configuration Management Update February 24, 2003 Narayan Desai
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Filtering Traffic Using Access Control Lists Introducing Routing and Switching.
Sed. Class Issues vSphere Issues – root only until lab 3.
Lab 8 Shell Script Reference: Linux Shell Scripting Tutorial v1.05r3 A Beginner's handbook
Process Manager Specification Rusty Lusk 1/15/04.
Linux+ Guide to Linux Certification, Second Edition
Shell script – part 2 CS 302. Special shell variable $0.. $9  Positional parameters or command line arguments  For example, a script myscript take 2.
An API for the Process Manager Component Meeting at Argonne June 5-6, 2003.
Compunet Corporation Introduction to Unix (CA263) Round and Round By Tariq Ibn Aziz Dammam Community College.
Chapter 5 Introduction To Form Builder. Lesson C Objectives  Use sequences to automatically generate primary key values in a form  Create lists of values.
#!/bin/sh 2002/07/26 Jaeho Shin. Interface between user and the operating system sh, bash, csh, tcsh, ksh, … What is a “Shell”? OSuser Shell.
Advanced topics Cluster Training Center for Simulation and Modeling September 4, 2015.
Introduction to SQL Server Automation with Powershell by Chris Sommer.
Linux Administration Working with the BASH Shell.
1 Lecture 8 Shell Programming – Control Constructs COP 3353 Introduction to UNIX.
 Very often when you write code, you want to perform different actions for different decisions. You can use conditional statements in your code to do.
ULI101 Week 10. Lesson Overview ● Shell Start-up and Configuration Files ● Shell History ● Alias Statement ● Shell Variables ● Introduction to Shell Scripting.
CSC 352– Unix Programming, Spring 2016, Final Exam Guide
Agenda Bash Shell Scripting – Part II Logic statements Loop statements
Variables and Conditions Nicholas Tunney Senior Software Architect
LING 408/508: Computational Techniques for Linguists
LING 408/508: Computational Techniques for Linguists
Control Structures: for & while Loops
Command Substitution Command substitution is the mechanism by which the shell performs a given set of commands and then substitutes their output in the.
MongoDB Read/Write.
MongoDB Read.
Presented by, Mr. Satish Pise
Executing Host Commands
Chapter 5 Bourne Shells Scripts
CSC 352– Unix Programming, Fall 2012
Executing Host Commands
Perl Programming Dr Claire Lambert
Introduction to Bash Programming, part 3
MongoDB Read Operations
Presentation transcript:

Process Manager Interface Narayan Desai, Rusty Lusk, Rick Bradshaw

2 Outline PM Functionality PM Syntax PM Commands PM Datatypes PM Events PM Examples PM BNF PM Schema

3 Process Manager Functionality Starts process groups, with specification of environments of application processes, either collectively or on a process-by- process basis –Executable –Arguments –Environment variables –User –Resource limits –Hosts for each process –Working directory Queries the state of a running process group, returning some startup parameters Delivers signals to all processes in a process group Terminates a process group After process group exit, can wait on the group to collect exit codes and output.

4 Process Manager Syntax The Process Manager uses the “less restricted syntax” style presented elsewhere Each message to it does three things: 1.Describes a process group specification to be matched or created 2.Conveys a command, with arguments 3.Specifies an object to be returned

5 Process Manager Commands CreateProcessGroup –Takes as input a ProcessGroupSpecification object –Returns a PGID GetProcessGroup –Takes as input a ProcessGroup object which is matched against –Returns a ProcessGroups container object containing requested fields from matched process group instances SignalProcessGroup –Takes as input a Process Group object which is matched against –Takes as argument a signal name and the scope of the signal (top- level processes or also forkees) –Returns requested fields from the process groups signaled

6 Process Manager Commands (cont.) KillProcessGroup –Terminates matching process groups Best effort to really kill processes, which may require repeated signalling –Returns the process groups matched WaitProcessGroup –Returns exit code information and stream output from matching completed process groups –Purges such information from the Process Manager state

7 Process Manager Datatypes ProcessGroupSpecification –Used as input to CreateProcessGroup ProcessGroup –Used as matching description and returned description in other commands

8 Process Manager Events Generated when a process group is successfully started: process-manager ProcessStart 29 Generated when a process group terminates: process-manager ProcessEnd 29

9 Process Manager Examples - 1 desai 8 /bin/false /tmp 6-7 /bin/true LD_LIBRARY_PATH /local/lib

10 Process Manager Examples - 2 -v Unordered ccn1 ccn2 ccn3 ccn4 ccn5 ccn6 ccn7 ccn8

11 Process Manager Examples

12 Process Manager Examples - 4 ProcessGroups> 29 ccn1 ccn2 ccn3 ccn4 ccn5 ccn6 ccn7 ccn8

13 Process Manager Examples Finished

14 Process Manager Examples stdout | stderr

15 Process Manager Examples ccn2 1 ccn6 255 stdout

16 Process Manager Examples - 8 process 0 on ccn1 process 1 on ccn2 process 2 on ccn3 process 3 on ccn4 process 4 on ccn5 process 5 on ccn6 process 6 on ccn7 process 7 on ccn8 stderr

17 Process Manager BNF - 1 [InMsg] ::= [CreateCommand] | [Query] [CreateCommand] ::= [PGSpecification] [PGSpecification] ::= [PGSattrs] [PGSattrs] ::= [PGSattr] | [PGSattr] [PGSattrs] [PGSattr] ::= [FieldValue] [Query] ::= [ProcessGroup] | [ProcessGroup] [Command] ::= KillProcessGroup | GetProcessGroup | WaitProcessGroup [ArgCmd] ::= SignalProcessGroup [Arguments] ::= [] | [Argument] | [Argument] [Arguments] [Argument] ::= [identifier]=[identifier] [ProcessGroup] ::= [Fields] [Fields] ::= [Field] | [Field] [Fields]| [MultiField] | [MultiField] [Fields]

18 Process Manager BNF - 2 [Field] ::= [FieldValue] [FieldName] ::= PGID|User|Size|Executable [FieldValue] ::= identifier [MultiField] ::= [MFields] [MFields] ::= [MField] | [MField] [MFields] [MField] ::= [MFValue] [Qualifiers] ::= [] | [Qualifier] [Qualifiers] [Qualifier] ::= [BooleanKey]=[BooleanValue]| [StringKey]=[StringValue] [BooleanKey] ::= 'negate' | 'match' | 'return' [BooleanValue] ::= 'true' | 'false' [StringKey] ::= 'op' [StringValue] ::= 'eq' | 'ne' | 'lt' | 'gt' | 'le' | 'ge' | 'range' | 're' [MFName] ::= HostSpec | Environment | Diversions [MFValue] :: identifier

19 Process Manager Schema Process Manager component schema SciDAC SSS project, 2004 Andrew Lusk Narayan Desai

20 Process Manager Schema - 2 <xsd:pattern value='ABRT|ALRM|BUS|CHLD|CLD|CONT|FPE|HUP|ILL|INT|IO|IOT|KILL|PIPE|POLL|PROF|PWR|QUIT|SEGV|STOP|SYS|TE RM|TRAP|TSTP|TTIN|TTOU|URG|USR1|USR2|VTALRM|WINCH|XCPU|XFSZ'/>

21 Process Manager Schema - 3

22 Process Manager Schema - 4

23 Notes