shmctl ID, CMD, ARG
这个函数调用 System V IPC 系统调用 shmctl(2)。在调用之前,你应该 use IPC::SysV 以获取正确的常量定义。
如果 CMD 是 IPC_STAT,那么 ARG 必须是一个将要保存返回的 shmid_ds 结构的变量。跟 ioctl 和 fcntl 一样,该函数错误时返回 undef,“0 but true”表示零,其他情况下返回实际返回值。
该函数只能在那些支持 System V IPC 的机器上用。
shmget KEY, SIZE, FLAGS
这个函数调用 System V IPC 系统调用 shmget(2)。该函数返回共享内存段的 ID,如果有错误则返回 undef。在调用之前,先 use SysV?::IPC。
该函数只能在那些支持 System V IPC 的机器上用。
shmread ID, VAR, POS, SIZE
这个函数从共享内存段 ID 的位置 POS 处开始读取 SIZE 大小的数据(方法是附着在该内存段上,拷贝出数据,然后与该内存段分离。)。VAR 必须是一个将保存读取出的数据的变量。如果成功,该函数返回真,如果失败返回假。
该函数只能在那些支持 System V IPC 的机器上用。
shmwrite ID, STRING, POS, SIZE
这个函数向共享内存段 ID 的位置 POS 处开始写入 SIZE 大小的数据(方法是附着在该内存段上,拷贝入数据,然后与该内存段分离。)。如果 STRING 太长,那么只写入 SIZE 字节;如果 STRING 太短,那么在后面补空直到 SIZE 字节。如果成功,该函数返回真,如果有错误,返回假。
该函数只能在那些支持 System V IPC 的机器上用。(你可能都读烦了——我们已经写烦了。)
shutdown SOCKET, HOW
这个函数以 HOW 声明的方式关闭一个套接字联接。如果 HOW 为 0,那么不再允许进一步的接收。如果 HOW 为 1,那么不再允许进一步的发送。如果 HOW 为 2,那么任何事情都不允许。
shutdown(SOCK, 0); # 不许再读 shutdown(SOCK, 1); # 不许再写 shutdown(SOCK, 2); # 不许再 I/O
如果你想告诉对端你完成数据写出了,但还没有完成数据读取,或者反过来,在这些情况下它都非常有用。而且它还是一种更执着的关闭方式,因为同时还关闭任何这些文件描述符在派生出的进程中的的拷贝。
让我们想象有一个服务器想读取它的客户端的请求,直到文件结尾,然后发送一个回答。如果客户端调用 close,那么该套接字现在将不能用于 I/O,因此不会有回答能送回来。因此,客户端应该使用 shutdown 以半关闭这次联接:
print SERVER "my request\n"; # 发送一些数据 shutdown(SERVER, 1); # 发送完毕,没有更多要发的东西了 $answer = < SERVER >; # 但你还可以读
(如果你找到这里是为了找到关闭你的系统的办法,那么你就要执行一个外部的程序干这件事。参阅 system。)
sin EXPR
sin
抱歉,这个操作符什么罪都没犯(译注:英文“sin”也有“罪恶”的含义)。它只是返回 EXPR(用弧度表示)的正弦。
如果需要正弦的逆操作,你可以使用 Math::Trig 或者 POSIX 模块的 asin 函数,或者用下面的关系:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28372-6.html
快要过生日啦
你那是WiFi热点吧