process.html
来自「perl教程」· HTML 代码 · 共 228 行
HTML
228 行
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>Win32::Process - Create and manipulate processes.</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>
<body>
<script>writelinks('__top__',2);</script>
<h1><a>Win32::Process - Create and manipulate processes.</a></h1>
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<li><a href="#methods">METHODS</a></li>
<li><a href="#exports">EXPORTS</a></li>
</ul>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>Win32::Process - Create and manipulate processes.</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
<span class="keyword">use</span> <span class="variable">Win32::Process</span><span class="operator">;</span>
<span class="keyword">use</span> <span class="variable">Win32</span><span class="operator">;</span>
</pre>
<pre>
<span class="keyword">sub</span><span class="variable"> ErrorReport</span><span class="operator">{</span>
<span class="keyword">print</span> <span class="variable">Win32::FormatMessage</span><span class="operator">(</span> <span class="variable">Win32::GetLastError</span><span class="operator">()</span> <span class="operator">);</span>
<span class="operator">}</span>
</pre>
<pre>
<span class="variable">Win32::Process::Create</span><span class="operator">(</span><span class="variable">$ProcessObj</span><span class="operator">,</span>
<span class="string">"C:\\winnt\\system32\\notepad.exe"</span><span class="operator">,</span>
<span class="string">"notepad temp.txt"</span><span class="operator">,</span>
<span class="number">0</span><span class="operator">,</span>
<span class="variable">NORMAL_PRIORITY_CLASS</span><span class="operator">,</span>
<span class="string">"."</span><span class="operator">)||</span> <span class="keyword">die</span> <span class="variable">ErrorReport</span><span class="operator">();</span>
</pre>
<pre>
<span class="variable">$ProcessObj</span><span class="operator">-></span><span class="variable">Suspend</span><span class="operator">();</span>
<span class="variable">$ProcessObj</span><span class="operator">-></span><span class="variable">Resume</span><span class="operator">();</span>
<span class="variable">$ProcessObj</span><span class="operator">-></span><span class="variable">Wait</span><span class="operator">(</span><span class="variable">INFINITE</span><span class="operator">);</span>
</pre>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>This module provides access to the process control functions in the
Win32 API.</p>
<p>
</p>
<hr />
<h1><a name="methods">METHODS</a></h1>
<dl>
<dt><strong><a name="item_create">Win32::Process::Create($obj,$appname,$cmdline,$iflags,$cflags,$curdir)</a></strong>
<dd>
<p>Creates a new process.</p>
</dd>
<dd>
<pre>
Args:</pre>
</dd>
<dd>
<pre>
$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</pre>
</dd>
<dd>
<p>Returns non-zero on success, 0 on failure.</p>
</dd>
</li>
<dt><strong><a name="item_open">Win32::Process::Open($obj,$pid,$iflags)</a></strong>
<dd>
<p>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.</p>
</dd>
<dd>
<p>Win32::Process::Open returns non-zero on success, 0 on failure.</p>
</dd>
</li>
<dt><strong><a name="item_killprocess">Win32::Process::KillProcess($pid, $exitcode)</a></strong>
<dd>
<p>Terminates any process identified by $pid. $exitcode will be set to
the exit code of the process.</p>
</dd>
</li>
<dt><strong><a name="item_suspend">$ProcessObj-><code>Suspend()</code></a></strong>
<dd>
<p>Suspend the process associated with the $ProcessObj.</p>
</dd>
</li>
<dt><strong><a name="item_resume">$ProcessObj-><code>Resume()</code></a></strong>
<dd>
<p>Resume a suspended process.</p>
</dd>
</li>
<dt><strong><a name="item_kill">$ProcessObj-><code>Kill($exitcode)</code></a></strong>
<dd>
<p>Kill the associated process, have it terminate with exit code $ExitCode.</p>
</dd>
</li>
<dt><strong><a name="item_getpriorityclass">$ProcessObj-><code>GetPriorityClass($class)</code></a></strong>
<dd>
<p>Get the priority class of the process.</p>
</dd>
</li>
<dt><strong><a name="item_setpriorityclass">$ProcessObj-><code>SetPriorityClass($class)</code></a></strong>
<dd>
<p>Set the priority class of the process (see exported values below for
options).</p>
</dd>
</li>
<dt><strong><a name="item_getprocessaffinitymask">$ProcessObj->GetProcessAffinityMask($processAffinityMask, $systemAffinityMask)</a></strong>
<dd>
<p>Get the process affinity mask. This is a bitvector in which each bit
represents the processors that a process is allowed to run on.</p>
</dd>
</li>
<dt><strong><a name="item_setprocessaffinitymask">$ProcessObj-><code>SetProcessAffinityMask($processAffinityMask)</code></a></strong>
<dd>
<p>Set the process affinity mask. Only available on Windows NT.</p>
</dd>
</li>
<dt><strong><a name="item_getexitcode">$ProcessObj-><code>GetExitCode($exitcode)</code></a></strong>
<dd>
<p>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.</p>
</dd>
</li>
<dt><strong><a name="item_wait">$ProcessObj-><code>Wait($timeout)</code></a></strong>
<dd>
<p>Wait for the process to die. $timeout should be specified in milliseconds.
To wait forever, specify the constant <code>INFINITE</code>.</p>
</dd>
</li>
<dt><strong><a name="item_getprocessid">$ProcessObj-><code>GetProcessID()</code></a></strong>
<dd>
<p>Returns the Process ID.</p>
</dd>
</li>
<dt><strong><a name="item_getcurrentprocessid">Win32::Process::GetCurrentProcessID()</a></strong>
<dd>
<p>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 <a href="#item_getcurrentprocessid"><code>GetCurrentProcessID()</code></a> returns the windows PID as needed for all
the Win32::Process functions.</p>
</dd>
</li>
</dl>
<p>
</p>
<hr />
<h1><a name="exports">EXPORTS</a></h1>
<p>The following constants are exported by default:</p>
<pre>
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</pre>
<p>The following additional constants are exported by request only:</p>
<pre>
STILL_ACTIVE</pre>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?