模块 posix

require "posix"

posix 是完整 POSIX 接口绑定(luaposix),通过 require "posix" 加载,仅 POSIX 系统可用。以下为常用 API 摘要;完整清单见 luaposix 文档。

API说明
chdirposix.chdir(path):改变工作目录(POSIX)
direntposix.dirent 子模块:目录遍历(opendir/readdir/closedir)(POSIX)
execposix.exec(prog, ...):替换当前进程映像(POSIX)
forkposix.fork():复制当前进程,父进程返回子进程 pid,子进程返回 0(POSIX)
getpidposix.getpid():返回当前进程 pid(POSIX)
killposix.kill(pid, sig):向进程发送信号(POSIX)
pipeposix.pipe():创建管道,返回 (读fd, 写fd)(POSIX)
signalposix.signal(sig, handler):安装信号处理器(POSIX)
statposix.stat(path):返回文件状态表(type/mode/size/…)(POSIX)
sys.socketposix.sys.socket 子模块:socket/bind/connect/accept/send/recv(POSIX)
unistd.read/writeposix.unistd.read(fd, n) / write(fd, str):裸文件读写(POSIX)
waitposix.wait():等待任一子进程,返回 (pid, status)(POSIX)

示例

local posix = require "posix"
local pid = posix.fork()
if pid == 0 then
  print("child pid", posix.getpid())
  os.exit(0)
else
  local wpid, status = posix.wait()
  print("child", wpid, "exit", status)
end
local st = posix.stat("/etc/hosts")
print(st.type, st.size)
local r, w = posix.pipe()
posix.write(w, "hello")
print(posix.read(r, 5))
← 返回模块索引