xMagic- 仓湖云函数数字应用平台
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
  1. xScript - x16.25.11
  • xMagic - 仓湖云函数数字应用平台
  • xScript - 仓湖云函数数字应用引擎
  • xMagic - 二开应用场景案例
  • 数据应用
    • 消息订阅(WSS)
    • 消息订阅(SSE)
    • 用户信息
    • 免密登陆(短信)
  • xScript - x16.25.11
    • assert
    • buffer
    • color
    • compress
    • console
    • crontab
    • crypto
    • encoding
    • events
    • evenloop
    • esm
    • fetch
    • fs
    • image
    • kv
    • mail
    • ml
    • mqtt
    • multipart
    • net
    • os
    • path
    • process
    • protobuf
    • querystring
    • redis
    • request
    • require
    • sql
    • tty
    • tui
    • ua
    • url
    • util
    • websocket
    • xml
    • yaml
    • mongo
    • http
    • stream
    • runtime
  • 小工具
    • APS - 代理转发
      • Any Proxy Service - 高级 HTTP/HTTPS/gRPC 代理转发工具
      • 配置指南 - 双向 Headers 和 Match/Replace
  • 数据模型
    • Schemas
      • AdminChangeAvatarReq
      • casbin.CasbinRule
      • AdminDelBatchReq
      • entity.DeptLable
      • AdminDelReq
      • entity.DevGenTable
      • AdminListReq
      • entity.DevGenTableColumn
      • AdminLoginReq
      • entity.FlowWorkClassify
      • AdminPostReq
      • entity.FlowWorkInfo
      • AdminReply
      • entity.FlowWorkTemplates
      • AdminUpdatePwdReq
      • entity.LogLogin
      • MenuDelBatchReq
      • entity.LogOper
      • MenuDelReq
      • entity.LoginM
      • MenuListReq
      • entity.MenuLable
      • MenuPostReq
      • entity.MenuPath
      • MenuReply
      • entity.ResEmail
      • RoleApisReq
      • entity.ResOss
      • SystemApiDelBatchReq
      • entity.ScreenGroupLabel
      • SystemApiDelReq
      • entity.SysApi
      • SystemApiListReq
      • entity.SysConfig
      • SystemApiPostReq
      • entity.SysDept
      • SystemApiReply
      • entity.SysDictData
      • SystemDepartmentDelBatchReq
      • entity.SysDictType
      • SystemDepartmentDelReq
      • entity.SysJob
      • SystemDepartmentListReq
      • entity.SysMenu
      • SystemDepartmentPostReq
      • entity.SysNotice
      • SystemDepartmentReply
      • entity.SysPost
      • SystemRoleApiDelBatchReq
      • entity.SysRole
      • SystemRoleApiDelReq
      • entity.SysTenants
      • SystemRoleApiListReq
      • entity.SysUser
      • SystemRoleApiPostReq
      • entity.SysUserB
      • SystemRoleApiReply
      • entity.SysUserId
      • SystemRoleDelBatchReq
      • entity.SysUserView
      • SystemRoleDelReq
      • entity.VisualRuleChain
      • SystemRoleListReq
      • entity.VisualScreen
      • SystemRoleMenuAddReq
      • entity.VisualScreenGroup
      • SystemRoleMenuDelBatchReq
      • form.Login
      • SystemRoleMenuDelReq
      • from.SendMail
      • SystemRoleMenuListReq
      • map[string]interface {}
      • SystemRoleMenuPostReq
      • map[string]string
      • SystemRoleMenuReply
      • model.BaseAutoModel
      • SystemRolePostReq
      • model.BaseModel
      • SystemRoleReply
      • model.ResultPage
      • model.ResultPage.data
      • vo.AuthVo
      • vo.DeptTreeVo
      • vo.MenuTreeVo
      • vo.MetaVo
      • vo.RouterVo
      • vo.TableInfoVo
      • vo.TokenVo
      • vo.UserRolePost
      • vo.UserVo
      • vo.UserVo.data
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
  1. xScript - x16.25.11

os

OS 模块#

操作系统交互模块,提供进程管理、环境变量操作和系统信息查询等功能。

功能特性#

✅ 执行系统命令
✅ 环境变量管理
✅ 进程信息查询
✅ 进程管理(退出、终止)
✅ 系统信息获取
✅ 垃圾回收控制
✅ 线程数配置

基本使用#

执行系统命令#

环境变量操作#

进程信息#

系统信息#

进程管理#

性能优化#

命令输出重定向#

API参考#

os.exec(command, ...args)#

执行系统命令并返回输出。
参数:
command (string): 要执行的命令
...args (string): 命令参数(可选,可多个)
返回值: string - 命令的组合输出(stdout + stderr)
注意: 强烈建议在生产环境中实现命令白名单,防止命令注入攻击。

os.execTo(conn, command, ...args)#

执行命令并将输出重定向到指定连接。
参数:
conn (net.Conn): 网络连接对象
command (string): 要执行的命令
...args (string): 命令参数
返回值: string - 命令输出

os.getEnv(key)#

获取环境变量。
参数:
key (string, 可选): 环境变量名称;如果不提供则返回所有环境变量
返回值:
如果提供key: string - 环境变量的值
如果不提供key: object - 所有环境变量的键值对

os.setEnv(key, value)#

设置环境变量。
参数:
key (string): 环境变量名称
value (string): 环境变量的值
返回值: undefined

os.unsetEnv(key)#

删除环境变量。
参数:
key (string): 环境变量名称
返回值: undefined

os.getHostname()#

获取主机名。
返回值: string - 系统主机名

os.getPlatform()#

获取操作系统平台。
返回值: string - 操作系统名称(如:linux, darwin, windows, freebsd等)

os.getArch()#

获取系统架构。
返回值: string - CPU架构(如:amd64, 386, arm, arm64等)

os.exit(code)#

退出当前进程。
参数:
code (number): 退出码(0-255),0表示正常退出,非0表示异常退出
返回值: 不返回(进程会终止)

os.kill(pid)#

终止指定进程。
参数:
pid (number): 进程ID(0-65535)
返回值: boolean或string - 成功返回true,失败返回错误信息

os.gc()#

手动触发垃圾回收,释放内存。
返回值: boolean - 始终返回true

os.setMaxThread(n)#

设置最大线程数(GOMAXPROCS)。
参数:
n (number): 最大线程数
返回值: boolean - 始终返回true

os.getMaxThread()#

获取当前最大线程数。
返回值: number - 当前配置的最大线程数

os.getPid()#

获取当前进程ID。
返回值: number - 进程ID

os.getPPid()#

获取父进程ID。
返回值: number - 父进程ID

os.getUid()#

获取用户ID(Unix/Linux)。
返回值: number - 用户ID

os.getGid()#

获取组ID(Unix/Linux)。
返回值: number - 组ID

os.getEuid()#

获取有效用户ID(Unix/Linux)。
返回值: number - 有效用户ID

os.getEgid()#

获取有效组ID(Unix/Linux)。
返回值: number - 有效组ID

os.getGroups()#

获取当前用户所属的所有组ID(Unix/Linux)。
返回值: array - 组ID数组

注意事项#

1.
安全性:exec和execTo函数存在命令注入风险,必须严格验证输入。
2.
权限:某些操作(如kill)需要适当的系统权限。
3.
平台差异:部分函数(如getUid、getGid)仅在Unix/Linux系统上可用。
4.
退出码范围:exit函数的退出码必须在0-255范围内。
5.
进程ID范围:kill函数的进程ID必须在0-65535范围内。
6.
线程数设置:setMaxThread影响Go运行时的并发性能,需谨慎调整。

实际应用场景#

系统信息收集#

环境配置管理#

命令执行封装#

性能监控#

安全最佳实践#

1.
验证命令输入:始终验证传递给exec的命令和参数
2.
使用白名单:只允许执行预定义的安全命令
3.
最小权限原则:使用最低必要的权限运行脚本
4.
日志记录:记录所有命令执行以便审计
5.
错误处理:妥善处理命令执行失败的情况
修改于 2025-11-03 13:09:41
上一页
net
下一页
path
Built with