b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

scalar() perl_stata scalar_perl substr(4)

电脑杂谈  发布时间:2017-01-23 23:04:07  来源:网络整理

又见 IPC::Semaphore 模块。这个函数只有在那些支持 System V IPC 的机器上才能用。

semget KEY, NSEMS, SIZE, FLAGS

这个函数调用 System V IPC 系统调用 semget(2)。在调用之前,你应该 use IPC::SysV 以获取正确的常量定义。该函数返回信号灯 ID,或者如果有错误返回 undef。

又见 IPC::Semaphore 模块。这个函数只能在那些支持 System V IPC 的机器上用。

semop KEY, OPSTRING

这个函数调用 System V IPC 系统调用 semop(2) 以执行信号灯操作,比如发信号和等待等等。在调用之前,你应该使用 use IPC::SysV 以获取正确的常量定义。

OPSTRING 必须是一个 semop 结构的打包的数组。你可以通过说 pack("s*", $semnum, $semop, $semflag)做每一个 semop 结构。信号灯操作的数量是由 OPSTRING 的长度隐含的。该函数在成功的时候返回真,在失败的时候返回假。

下面的代码在等待信号灯 id 为 $semid 的信号灯 $semnum:

   $semop = pack "s*", $semnum, -1, 0;
   semop $semid, $semop or die "Semaphore trouble: $!\n";

要给信号灯发出信号,只需要把 -1 换成 1 就可以了。

参阅第十六章的“System V IPC”一节。又见 IPC::Semaphore 模块。这个函数只有支持 Systerm V IPC 的机器上可以用。

send SOCKET, MSG, FLAGS, TO

send SOCKET, MSG, FLAGS

这个函数在套接字上发送一条信息。它和同名系统调用接收相同的标志——参阅 send(2)。在未联接的套接字上,你必须声明一个要发送的目的 TO,这样就会令 Perl 的 send 象 sendto(2) 那样运行。C 的系统调用 sendmsg(2) 目前没有在标准的 Perl 里实现。send 函数在成功时返回发送的字节数,失败时返回 undef。

(有些非 Unix 系统错误地把套接字当作与普通文件描述符不同的东西对待,结果就是你必须总是在套接字上 send 和 recv,而不能使用方便的标准 I/O 操作符。)

我们中至少有一个人会常犯的错误就是把 Perl 的 send 和 C 的 send 和写混淆起来:

   send SOCK, $buffer, length $buffer      # 错

这行代码会莫名其妙地失败,具体情况取决于字串长度和系统需要的 FLAG 位之间的关系。参阅第十六章中的“消息传递”一节。

setpgrp PID, PGRP

这个函数为指定的 PID(对当前进程使用 PID 等于 0)设置当前进程组(PGRP)。如果在那些没有实现 setpgrp(2) 的系统上调用 setpgrp 将会抛出一个例外。注意:有些系统上会总是忽略你提供的参数并总是做 setpgrp(0, $$)。幸运的是,这些就是我们最常用的参数。如果省略了参数,它们缺省是 0, 0。BSD 4.2 版本的 setpgrp 不接受任何参数,但在 BSD 4.4 里,它是 setpgid 函数的同义词。如果需要更好的移植性(从某种角度来看),直接使用 POSIX 模块里的setpgid 函数。如果你实际上想干的事是把你的脚本作成守护进程,那么请考虑使用 POSIX::setsid() 函数。请注意 POSIX 版本的 getpgrp 并不接受参数,所以只有 setpgrp(0, 0) 是真正可以移植的。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28372-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 卫嗣伯
      卫嗣伯

      话说美国就是轻视你伊拉克

    • 姬周
      姬周

      千千爱你

    • 杨培
      杨培

      美国派出的宙斯盾是万吨级咱们得052才七千吨

    热点图片
    拼命载入中...