package main
import (
"fmt"
"os"
"strings"
"syscall"
)
func threads() string {
b, _ := os.ReadFile("/proc/self/status")
for _, l := range strings.Split(string(b), "\n") {
if strings.HasPrefix(l, "Threads:") {
return strings.TrimSpace(l[len("Threads:"):])
}
}
return "?"
}
func main() {
err := syscall.Unshare(syscall.CLONE_NEWUSER)
fmt.Printf("threads=%s unshare(CLONE_NEWUSER)=%v\n", threads(), err)
if err != nil {
os.Exit(1)
}
}