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">-&gt;</span><span class="variable">Suspend</span><span class="operator">();</span>
    <span class="variable">$ProcessObj</span><span class="operator">-&gt;</span><span class="variable">Resume</span><span class="operator">();</span>
    <span class="variable">$ProcessObj</span><span class="operator">-&gt;</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-&gt;<code>Suspend()</code></a></strong>

<dd>
<p>Suspend the process associated with the $ProcessObj.</p>
</dd>
</li>
<dt><strong><a name="item_resume">$ProcessObj-&gt;<code>Resume()</code></a></strong>

<dd>
<p>Resume a suspended process.</p>
</dd>
</li>
<dt><strong><a name="item_kill">$ProcessObj-&gt;<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-&gt;<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-&gt;<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-&gt;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-&gt;<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-&gt;<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-&gt;<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-&gt;<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 + -
显示快捷键?