RSE
Release 3.3

org.eclipse.rse.services.processes
Interface IProcessService

All Superinterfaces:
IAdaptable, IService
All Known Implementing Classes:
AbstractProcessService

public interface IProcessService
extends IService

An IProcessService is an abstraction of a process service that runs over some sort of connection. It can be shared among multiple instances of a subsystem. Each subsystem is currently responsible for layering an abstraction over whatever it wants to construct as a service.

Implementers of this interface will have to either be instantiated, initialized, or somehow derive a connection as part of its state.


Method Summary
 IHostProcess getParentProcess(long pid, IProgressMonitor monitor)
          Given a process, return its parent process object.
 IHostProcess getProcess(long pid, IProgressMonitor monitor)
          Given a pid, return an IHostProcess object for it.
 String[] getSignalTypes()
          Returns a list of the types of signals that can be sent to a process on the remote system.
 boolean kill(long pid, String signal, IProgressMonitor monitor)
          Kills a process.
 IHostProcess[] listAllProcesses(IHostProcessFilter filter, IProgressMonitor monitor)
          Return a filtered list of all processes on the remote system.
 IHostProcess[] listAllProcesses(IProgressMonitor monitor)
          Return a list of all processes on the remote system.
 IHostProcess[] listAllProcesses(String exeNameFilter, String userNameFilter, String stateFilter, IProgressMonitor monitor)
          Return a filtered list of all processes on the remote system.
 IHostProcess[] listChildProcesses(long parentPID, IHostProcessFilter filter, IProgressMonitor monitor)
          Return a filtered list of remote child processes of the given parent process on the remote system
 IHostProcess[] listChildProcesses(long parentPID, IProgressMonitor monitor)
          Return a list of all remote child processes of the given parent process on the remote system
 IHostProcess[] listRootProcesses(IProgressMonitor monitor)
          Returns root processes on the remote system
 
Methods inherited from interface org.eclipse.rse.services.IService
getDescription, getName, initService, uninitService
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Method Detail

listAllProcesses

IHostProcess[] listAllProcesses(IProgressMonitor monitor)
                                throws SystemMessageException
Return a list of all processes on the remote system.

Parameters:
monitor - A progress monitor to which progress will be reported
Returns:
List of all processes
Throws:
SystemMessageException - in case anything goes wrong

listAllProcesses

IHostProcess[] listAllProcesses(IHostProcessFilter filter,
                                IProgressMonitor monitor)
                                throws SystemMessageException
Return a filtered list of all processes on the remote system.

Parameters:
filter - An object to filter results by
monitor - A progress monitor to which progress will be reported
Returns:
Filtered list of processes
Throws:
SystemMessageException - in case anything goes wrong

listAllProcesses

IHostProcess[] listAllProcesses(String exeNameFilter,
                                String userNameFilter,
                                String stateFilter,
                                IProgressMonitor monitor)
                                throws SystemMessageException
Return a filtered list of all processes on the remote system.

Parameters:
exeNameFilter - The executable name to filter results by, or null if no exeName filtering
userNameFilter - The user name to filter results by, or null if no userName filtering
stateFilter - The state code to filter results by, or null if no state filtering
monitor - A progress monitor to which progress will be reported
Returns:
Filtered list of processes
Throws:
SystemMessageException - in case anything goes wrong

listRootProcesses

IHostProcess[] listRootProcesses(IProgressMonitor monitor)
                                 throws SystemMessageException
Returns root processes on the remote system

Parameters:
monitor - A progress monitor to which progress will be reported
Returns:
List of root processes
Throws:
SystemMessageException - in case anything goes wrong

listChildProcesses

IHostProcess[] listChildProcesses(long parentPID,
                                  IProgressMonitor monitor)
                                  throws SystemMessageException
Return a list of all remote child processes of the given parent process on the remote system

Parameters:
parentPID - The ID of the parent process whose children are to be listed
monitor - A progress monitor to which progress will be reported
Returns:
List of child processes
Throws:
SystemMessageException - in case anything goes wrong

listChildProcesses

IHostProcess[] listChildProcesses(long parentPID,
                                  IHostProcessFilter filter,
                                  IProgressMonitor monitor)
                                  throws SystemMessageException
Return a filtered list of remote child processes of the given parent process on the remote system

Parameters:
parentPID - The ID of the parent process whose children are to be listed
filter - A filter to narrow results by
monitor - A progress monitor to which progress will be reported
Returns:
Filtered list of child processes
Throws:
SystemMessageException - in case anything goes wrong

getParentProcess

IHostProcess getParentProcess(long pid,
                              IProgressMonitor monitor)
                              throws SystemMessageException
Given a process, return its parent process object.

Parameters:
pid - the ID of the process to return parent of.
monitor - A progress monitor to which progress will be reported
Returns:
The parent process
Throws:
SystemMessageException - in case anything goes wrong

getProcess

IHostProcess getProcess(long pid,
                        IProgressMonitor monitor)
                        throws SystemMessageException
Given a pid, return an IHostProcess object for it.

Parameters:
pid - The process ID of the desired process
monitor - A progress monitor to which progress will be reported
Returns:
IHostProcess object for the given pid
Throws:
SystemMessageException - in case anything goes wrong

kill

boolean kill(long pid,
             String signal,
             IProgressMonitor monitor)
             throws SystemMessageException
Kills a process.

Parameters:
pid - the ID of the process to be killed.
signal - the signal to send to the process
monitor - A progress monitor to which progress will be reported
Returns:
false if the given process doesn't exist, else true. Throws an exception if anything fails.
Throws:
SystemMessageException - in case anything goes wrong

getSignalTypes

String[] getSignalTypes()
Returns a list of the types of signals that can be sent to a process on the remote system.

Returns:
the signal types, or null if there are none, or they cannot be found.

RSE
Release 3.3

Copyright (c) IBM Corporation and others 2000, 2011. All Rights Reserved.