版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/youshijian99/article/details/85717541
import “syscall”
type Rlimit struct {
Cur uint64
Max uint64
}
RLIMIT_NOFILE = 0x7
func Getrlimit(resource int, rlim *Rlimit) (err error)
package main
import (
"fmt"
"syscall"
)
func main() {
var limit syscall.Rlimit
syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limit)
fmt.Println(int(limit.Cur)) // 检索此进程允许打开的文件描述符的数量
fmt.Println(int(limit.Max)) // 检索此进程允许自己请求的文件描述符的最大数量
}
运行结果:
1024
1048576
package main
import (
"fmt"
"syscall"
)
func main() {
var limit syscall.Rlimit
syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limit)
fmt.Println(int(limit.Cur))
fmt.Println(int(limit.Max))
limit.Cur = limit.Max
if limit.Cur > 2048 {
limit.Cur = 2048
}
syscall.Setrlimit(syscall.RLIMIT_NOFILE, &limit)
syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limit)
fmt.Println(int(limit.Cur))
fmt.Println(int(limit.Max))
}
运行结果:
1024
1048576
2048
1048576
文档:https://gowalker.org/syscall
func UTF16PtrFromString(s string) (*uint16, error)
返回指向UTF-8字符串的UTF-16编码的指针,并添加一个终止NUL。如果s在任何位置包含一个NUL字节,它返回(nil, EINVAL)。
func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile int32) (handle Handle, err error)