从python输入内核名称空间

nsenter的Python项目详细描述


Travis CI build status

这个python包允许通过执行“setns”系统调用输入linux内核名称空间(mount、ipc、net、pid、user和uts)。 命令行接口试图类似于nsenterc程序。

需要Python2.6或更高版本

请参阅介绍性的blog post “Entering Kernel Namespaces from Python”

从pypi安装:

sudo pip3 install nsenter

从git源安装:

python3 setup.py install

命令行用法示例:

docker run -d --name=redis -t redis
sudo nsenter --all --target=`docker inspect --format '{{ .State.Pid }}' redis` /bin/bash

来自python的示例用法:

importsubprocessfromnsenterimportNamespacewithNamespace(mypid,'net'):# output network interfaces as seen from within the mypid's net NS:subprocess.check_output(['ip','a'])# or enter an arbitrary namespace:withNamespace('/var/run/netns/foo','net'):# output network interfaces as seen from within the net NS "foo":subprocess.check_output(['ip','a'])

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何反射地迭代数组字段?   java NamedQuery错误“具有给定标识符的多行:1”   java无法使用单独类中的计时器更新TextView   兼容性什么时候可以很快使用新的Java功能?   java二叉树路径和   java矩形的性能   java我想从同一个子表在主表中添加两个外键   java如何获取基于特定日期的所有数据?   java javafx、OO编程规则和写入变量类型的选择   java使用带枚举的switch语句   java异步任务生成运行时异常   java为什么JLabel不显示下划线字符?   java如何解析具有可变参数号的函数?   带有按钮的java JavaFX自定义列表单元格:未调用处理程序   java Modelmapper无法映射整个模型?   传递给持久化的java分离实体,包含LatLng列表