⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch25_05.htm

📁 编程珍珠,里面很多好用的代码,大家可以参考学习呵呵,
💻 HTM
字号:
<html><head><title>Interprocess Communication (IPC) (Programming Perl)</title><!-- STYLESHEET --><link rel="stylesheet" type="text/css" href="../style/style1.css"><!-- METADATA --><!--Dublin Core Metadata--><meta name="DC.Creator" content=""><meta name="DC.Date" content=""><meta name="DC.Format" content="text/xml" scheme="MIME"><meta name="DC.Generator" content="XSLT stylesheet, xt by James Clark"><meta name="DC.Identifier" content=""><meta name="DC.Language" content="en-US"><meta name="DC.Publisher" content="O'Reilly &amp; Associates, Inc."><meta name="DC.Source" content="" scheme="ISBN"><meta name="DC.Subject.Keyword" content=""><meta name="DC.Title" content="Interprocess Communication (IPC)"><meta name="DC.Type" content="Text.Monograph"></head><body><!-- START OF BODY --><!-- TOP BANNER --><img src="gifs/smbanner.gif" usemap="#banner-map" border="0" alt="Book Home"><map name="banner-map"><AREA SHAPE="RECT" COORDS="0,0,466,71" HREF="index.htm" ALT="Programming Perl"><AREA SHAPE="RECT" COORDS="467,0,514,18" HREF="jobjects/fsearch.htm" ALT="Search this book"></map><!-- TOP NAV BAR --><div class="navbar"><table width="515" border="0"><tr><td align="left" valign="top" width="172"><a href="ch25_04.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0"></a></td><td align="center" valign="top" width="171"><a href="ch25_01.htm">Chapter 25: Portable Perl</a></td><td align="right" valign="top" width="172"><a href="ch25_06.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0"></a></td></tr></table></div><hr width="515" align="left"><!-- SECTION BODY --><h2 class="sect1">25.5. Interprocess Communication (IPC)</h2><p><a name="INDEX-4349"></a><a name="INDEX-4350"></a><a name="INDEX-4351"></a><a name="INDEX-4352"></a><a name="INDEX-4353"></a><a name="INDEX-4354"></a><a name="INDEX-4355"></a><a name="INDEX-4356"></a><a name="INDEX-4357"></a>To maximize portability, don't try to launch new processes.  Thatmeans you should avoid <tt class="literal">system</tt>, <tt class="literal">exec</tt>, <tt class="literal">fork</tt>, <tt class="literal">pipe</tt>, <tt class="literal">``</tt>,<tt class="literal">qx//</tt>, or <tt class="literal">open</tt> with a <tt class="literal">|</tt>.</p><p>The main problem is not the operators themselves; commands that launchexternal processes are generally supported on most platforms (thoughsome do not support any type of forking).  Problems are more likely toarise when you invoke external programs that have names, locations,output, or argument semantics that vary across platforms.</p><p><a name="INDEX-4358"></a>One especially popular bit of Perl code is opening a pipe to <em class="emphasis">sendmail</em>so that your programs can send mail:<blockquote><pre class="programlisting">open(MAIL, '|/usr/lib/sendmail -t') or die "cannot fork sendmail: $!";</pre></blockquote>This won't work on platforms without <em class="emphasis">sendmail</em>.  For a portable solution, use oneof the CPAN modules to send your mail, such as <tt class="literal">Mail::Mailer</tt> and<tt class="literal">Mail::Send</tt> in the MailTools distribution, or <tt class="literal">Mail::Sendmail</tt>.</p><p>The Unix System V IPC functions (<tt class="literal">msg*(), sem*(),shm*()</tt>) are not always available, even on some Unixplatforms.</p><!-- BOTTOM NAV BAR --><hr width="515" align="left"><div class="navbar"><table width="515" border="0"><tr><td align="left" valign="top" width="172"><a href="ch25_04.htm"><img src="../gifs/txtpreva.gif" alt="Previous" border="0"></a></td><td align="center" valign="top" width="171"><a href="index.htm"><img src="../gifs/txthome.gif" alt="Home" border="0"></a></td><td align="right" valign="top" width="172"><a href="ch25_06.htm"><img src="../gifs/txtnexta.gif" alt="Next" border="0"></a></td></tr><tr><td align="left" valign="top" width="172">25.4. System Interaction</td><td align="center" valign="top" width="171"><a href="index/index.htm"><img src="../gifs/index.gif" alt="Book Index" border="0"></a></td><td align="right" valign="top" width="172">25.6. External Subroutines (XS)</td></tr></table></div><hr width="515" align="left"><!-- LIBRARY NAV BAR --><img src="../gifs/smnavbar.gif" usemap="#library-map" border="0" alt="Library Navigation Links"><p><font size="-1"><a href="copyrght.htm">Copyright &copy; 2001</a> O'Reilly &amp; Associates. All rights reserved.</font></p><map name="library-map"> <area shape="rect" coords="2,-1,79,99" href="../index.htm"><area shape="rect" coords="84,1,157,108" href="../perlnut/index.htm"><area shape="rect" coords="162,2,248,125" href="../prog/index.htm"><area shape="rect" coords="253,2,326,130" href="../advprog/index.htm"><area shape="rect" coords="332,1,407,112" href="../cookbook/index.htm"><area shape="rect" coords="414,2,523,103" href="../sysadmin/index.htm"></map><!-- END OF BODY --></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -