0
点赞
收藏
分享

微信扫一扫

Docker与Linux Namespace:IPC Namesapce

天涯学馆 2021-09-24 阅读 46
PaaS

概述

IPC Namespace 是用来隔离 System V IPC 和POSIX message queues.每一个IPC Namespace都有他们自己的System V IPC 和POSIX message queue。

源码

package main

import (
"os/exec"
"syscall"
"os"
"log"
)

func main() {
cmd := exec.Command("sh")
cmd.SysProcAttr = &syscall.SysProcAttr{
Cloneflags: syscall.CLONE_NEWUTS | syscall.CLONE_NEWIPC,
}
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr

if err := cmd.Run(); err != nil {
log.Fatal(err)
}
}

测试结果:

go run ipc.go
sh-4.2#ipcs -q
------ Message Queues --------
key msqid owner perms used-bytes messages

//创建一个message queue
sh-4.2# ipcmk -Q
Message queue id: 0
sh-4.2# ipcs -q
------ Message Queues --------
key msqid owner perms used-bytes messages
0x15aeef97 0 root 644 0 0
//重新打开一个终端,查看宿主机的ipc
[root@VM_0_10_centos ~]# ipcs -q
------ Message Queues --------
key msqid owner perms used-bytes messages
举报

相关推荐

0 条评论