Manpage of Process::Process

Google
Web www.fiveanddime.net

Process::Process

Section: User Contributed Perl Documentation (3)
Updated: 2004-12-02
Index Return to Main Contents
 

NAME

Win32::Process - Create and manipulate processes.  

SYNOPSIS use Win32::Process; use Win32;

        sub ErrorReport{
                print Win32::FormatMessage( Win32::GetLastError() );
        }

        Win32::Process::Create($ProcessObj,
                                "D:\\winnt35\\system32\\notepad.exe",
                                "notepad temp.txt",
                                0,
                                NORMAL_PRIORITY_CLASS,
                                ".")|| die ErrorReport();

        $ProcessObj->Suspend();
        $ProcessObj->Resume();
        $ProcessObj->Wait(INFINITE);

 

DESCRIPTION

This module provides access to the process control functions in the Win32 API.  

METHODS

Win32::Process::Create($obj,$appname,$cmdline,$iflags,$cflags,$curdir)
Creates a new process.

    Args:

        $obj            container for process object
        $appname        full path name of executable module
        $cmdline        command line args
        $iflags         flag: inherit calling processes handles or not
        $cflags         flags for creation (see exported vars below)
        $curdir         working dir of new process

Returns non-zero on success, 0 on failure.

Win32::Process::Open($obj,$pid,$iflags)
Creates a handle Perl can use to an existing process as identified by $pid. The $iflags is the inherit flag that is passed to OpenProcess. Currently Win32::Process objects created using Win32::Process::Open cannot Suspend or Resume the process. All other calls should work.

Win32::Process::Open returns non-zero on success, 0 on failure.

Win32::Process::KillProcess($pid, $exitcode)
Terminates any process identified by $pid. $exitcode will be set to the exit code of the process.
$ProcessObj->Suspend()
Suspend the process associated with the $ProcessObj.
$ProcessObj->Resume()
Resume a suspended process.
$ProcessObj->Kill( $exitcode )
Kill the associated process, have it terminate with exit code $ExitCode.
$ProcessObj->GetPriorityClass($class)
Get the priority class of the process.
$ProcessObj->SetPriorityClass( $class )
Set the priority class of the process (see exported values below for options).
$ProcessObj->GetProcessAffinitymask( $processAffinityMask, $systemAffinitymask)
Get the process affinity mask. This is a bitvector in which each bit represents the processors that a process is allowed to run on.
$ProcessObj->SetProcessAffinitymask( $processAffinityMask )
Set the process affinity mask. Only available on Windows NT.
$ProcessObj->GetExitCode( $exitcode )
Retrieve the exitcode of the process.
$ProcessObj->Wait($timeout)
Wait for the process to die. $timeout should be specified in milliseconds. To wait forever, specify the constant "INFINITE".
$ProcessObj->GetProcessID()
Returns the Process ID.
Win32::Process::GetCurrentProcessID()
Returns the current process ID, which is the same as $$. But not on cygwin, where $$ is the cygwin-internal PID and not the windows PID. On cygwin GetCurrentProcessID() returns the windows PID as needed for all the Win32::Process functions.
 

EXPORTS

The following constants are exported by default.

        CREATE_DEFAULT_ERROR_MODE
        CREATE_NEW_CONSOLE
        CREATE_NEW_PROCESS_GROUP
        CREATE_NO_WINDOW
        CREATE_SEPARATE_WOW_VDM
        CREATE_SUSPENDED
        CREATE_UNICODE_ENVIRONMENT
        DEBUG_ONLY_THIS_PROCESS
        DEBUG_PROCESS
        DETACHED_PROCESS
        HIGH_PRIORITY_CLASS
        IDLE_PRIORITY_CLASS
        INFINITE
        NORMAL_PRIORITY_CLASS
        REALTIME_PRIORITY_CLASS
        THREAD_PRIORITY_ABOVE_NORMAL
        THREAD_PRIORITY_BELOW_NORMAL
        THREAD_PRIORITY_ERROR_RETURN
        THREAD_PRIORITY_HIGHEST
        THREAD_PRIORITY_IDLE
        THREAD_PRIORITY_LOWEST
        THREAD_PRIORITY_NORMAL
        THREAD_PRIORITY_TIME_CRITICAL


 

Index

NAME
SYNOPSIS use Win32::Process; use Win32;
DESCRIPTION
METHODS
EXPORTS

This document was created by man2html, using the manual pages.
Time: 21:21:45 GMT, May 16, 2005



www.fiveanddime.net








Google
Web www.fiveanddime.net