加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl Win32::Process 进程管理

发布时间:2020-12-15 23:47:33 所属栏目:大数据 来源:网络整理
导读:NAME Win32::Process - Create and manipulate processes. SYNOPSIS ? ? ? useWin32::Process;useWin32;subErrorReport{????printWin32::FormatMessage( Win32::GetLastError() );}Win32::Process::Create($ProcessObj,????????????????????????????"C:win

NAME

Win32::Process - Create and manipulate processes.

SYNOPSIS

 
 
?
?
?
useWin32::Process;useWin32;subErrorReport{????printWin32::FormatMessage( Win32::GetLastError() );}Win32::Process::Create($ProcessObj,????????????????????????????"C:winntsystem32notepad.exe",????????????????????????????"notepad temp.txt",????????????????????????????0,????????????????????????????NORMAL_PRIORITY_CLASS,????????????????????????????".")||dieErrorReport();$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:????$objcontainerforprocess object????$appnamefull path name of executable module????$cmdlinecommand line args????$iflagsflag: inherit calling processes handles or not????$cflagsflagsforcreation (see exported vars below)????$curdirworking 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). Note that the ABOVE_NORMAL_PRIORITY_CLASS and BELOW_NORMAL_PRIORITY_CLASS classes only work on Windows 2000 and later.

$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. Will return STILL_ACTIVE if the process is still running. The STILL_ACTIVE constant is only exported by explicit request.

$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_MODECREATE_NEW_CONSOLECREATE_NEW_PROCESS_GROUPCREATE_NO_WINDOWCREATE_SEPARATE_WOW_VDMCREATE_SUSPENDEDCREATE_UNICODE_ENVIRONMENTDEBUG_ONLY_THIS_PROCESSDEBUG_PROCESSDETACHED_PROCESSHIGH_PRIORITY_CLASSIDLE_PRIORITY_CLASSINFINITENORMAL_PRIORITY_CLASSREALTIME_PRIORITY_CLASSTHREAD_PRIORITY_ABOVE_NORMALTHREAD_PRIORITY_BELOW_NORMALTHREAD_PRIORITY_ERROR_RETURNTHREAD_PRIORITY_HIGHESTTHREAD_PRIORITY_IDLETHREAD_PRIORITY_LOWESTTHREAD_PRIORITY_NORMALTHREAD_PRIORITY_TIME_CRITICAL

The following additional constants are exported by request only:

 
 
ABOVE_NORMAL_PRIORITY_CLASSBELOW_NORMAL_PRIORITY_CLASSSTILL_ACTIVE

LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读