Skip to content

System ​

实现状态: ProcessInfo cpu/mem/user/hostname/uptime/disk/load/primaryIpv4 已实现(失败抛 SystemError);不是 完整 sysinfo。文件 I/O 与路径辅助同属 import System 聚合(File、FilePath、Env、process 辅助)。R-47:Env 为无 case 命名空间 enum;FilePath 为值类型 struct(rawValue)+ 实例方法,并保留 String 静态桥。

swift
import System

func main() {
    print(ProcessInfo.processorCount)
    do {
        print(ProcessInfo.hostname())
    } catch (e) {
        print("hostname-unavailable")
    }
    let p = FilePath(rawValue: "/tmp").joining(other: "demo.txt")
    print(p.rawValue)
    print(FilePath.join(a: "/tmp", b: "demo.txt"))
}

范例:examples/os_info/main.sy

类型角色
ProcessInfo机器 / 用户查询(processorCount、hostname() 等)
Env进程环境变量(get / set)— caseless enum
FilePath路径值类型(rawValue)+ join/normalize/exists/extension
File / Directory / Stdin文件系统与标准输入(见 System I/O 与 Networking)
SystemError查询或 I/O 失败时抛出

ProcessInfo 与 process spawn/exec 辅助分开:前者查机器/用户,后者处理 args/env/exec。若干查询在注入失败环境变量时抛错(见 packages/os/mod.sy 注释),用户代码应 try/catch,不要依赖 -1 或空串哨兵。

SYX · Apache-2.0