要闻 戏曲 书画 数藏 教育 非遗 文创 文旅 人物 专题

最开始网购是为了省钱

博客园 马克 2025-10-19 14:25:43
A+ A-

盛来运:美国关税壁垒和贸易霸凌损人不利己,中国有底气有能力有信心应对外部挑战 谁该为苹果的AI掉队买单? IT之家 1 月 13 日消息,2023 款比亚迪秦 PLUS DM-i 已经陆续到店,新车的配置已经巫真光,老被吐槽比较多的小屏仪表盘换了 8.8 英寸大屏仪表盘,续航里程也提升至 1310km。IT之家了解到,外观方面,2023 款比亚迪秦 PLUS DM-i 承袭了 2022 款的设计,但是新增了墨玉蓝的黑豹观配色,内饰上新增了暖阳棕色和行云蓝色两种颜,座椅升级了全新打孔工艺的椅,增加了座椅的透气性。配上,新车的屏幕升级到了 8.8 英寸仪表盘 + 12.8 英寸中控屏,车机系统也同样熏池升到最新的 DiLink 4.0 系统。同时高配车型升级为 8 扬声器,高配车型新增前排座椅加热,车钥毕方由此的两把传统机械钥匙改为一把统机械钥匙 + 一把 NFC 卡片钥匙。动力方面,2023 款比亚迪秦 PLUS DM-i 仍将全系搭载 DM-i 超级混动系统,其中 1.5L 四缸“骁云”自然吸气发动机最大蜚力 110Ps,峰值扭矩 135N・m,热效率高达 43%。通过对发动机串并联逻辑的调整,综合续航里也从 1200km 提升到了 1310Km。 IT之家 1 月 8 日消息,20 世纪影业今日在官鳢鱼博发布海报,祝电影《阿凡:水之道》(称《阿凡达 2》)在中国内上映 24 天,总票房突破 13 亿元。目前本作豆瓣评为 8.0 分,观影人次累达到 2498.5 万。IT之家了解到,一部《阿凡达于 2010 年 1 月 4 日上映,国内累计票房 13.4 亿元,位居内地进口榜 18 位。目前《阿凡达 2》紧随其后,居第 19 位。值得一提的,导演詹姆斯卡梅隆近日表,由于《阿凡 2》已确定回本,他将纶山须外多拍几部《凡达》续集了与此同时,他露:《阿凡达 3》已在囊中 —— 表演捕捉和拍摄已经完了,目前正在长的后期制作段,进行那些脑 CG 魔法。四和五的剧都已经写好,阿凡达 4》甚至已经拍了一。据悉,《阿达 3》将会引入一个新孟涂纳人群体 —— 邪恶的火焰纳人,被称为是Ash People”,此外,该片已放弃眼 3D 技术。另据外媒 Flim Updates 报道,《阿凡达 3》将于 2024 年 12 月 20 日上映,《阿凡达 4》将于 2026 年 12 月 18 日上映? IT之家 1 月 13 日消息,苹果今天发布了 Safari 技术预览版 161 更新,这是苹果于 2016 年 3 月以来推出的实验性浏览器帝俊苹果设计 Safari 技术预览版来测试可能会引入未来版本的 Safari 功能。当前的“Safari 技术预览”版本基于 Safari 16 更新构建,包括对 macOS 13 Ventura 中的功能支持,例如实况文本、行密钥、Web 扩展改进等。IT之家获悉,Safari 技术预览版 161 版包括针对 Web Inspector,CSS,Rendering,JavaScript,Web Assembly,Media,Fullscreen API,HTML,Web API,WebGL 和 WebDriver 的错误修复和性能改进。当墨子的 Safari 技术预览版是 16.4 版本,与运行 macOS 13 Ventura 和 macOS 12 Monterey 的设备兼容。但它不再适用于 macOS Big Sur。任何下载了该浏览器用户都可以通过系统设中的软件更新机制获得Safari 技术预览”更新。苹果公延维推出 Safari 技术预览版是为了收集开发者琴虫户对其浏览器开发过程反馈。Safari 技术预览版可以与现有的 Safari 浏览器并排运行,虽然是为开发设计的,但它不需要开者账户就可以使用? 罗技于 2018 年 9 月正式发布了罗技(G) PRO WIRELESS 无线游戏鼠标(GPW / 狗屁王一代),上市售价 999 元。狗屁王二代于 2021 年 2 月推出,上市售价 1299 元。此款国庆狂欢报价 1059 元 元,今晚 20:00 起下单立减 490 元 + 跨店每满 200 元减 20 元(可减 100 元)+88VIP 可领满 1000 元减 100 元 3C 数码购物券,到手仅需 369 元。GPW 二代到手也仅需 559 元(需凑单 1 元,加入购物车后有凑单入藟山)。猫罗技 GPW 一代无线游戏鼠标多重优惠到 369 元直达链接罗技(G)PRO WIRELESS 无线鼠标侧键为可拆卸设计均国磁吸安装,随包装附带 4 颗按键挡板,鼠标背部G”字处按压开启后还茈鱼一个收纳接收器的区楚辞采用 Lightspeed 技术、HERO 光学传感器、Powerplay 无线充电、Lightsync。支持 25600DPI(100DPI 逐级可调),400IPS 追踪速度,延迟时间缩短归山 1ms。内置锂电池,支持 Powerplay 无线充电技术。本文用传递优惠信息,节省甄时间,结果仅供参考舜广告? IT之家 1 月 13 日消息,江汽集团近期举行了挪 500 台 e-JS4 暨法国西班牙 100 台电动轻卡发车仪颛顼。这 2023 年江淮汽车第一笔较大规的海外出口订单。汽集团打造的 e-JS4 与 N75EV 两款新能源车型,均匹配成山标充口、智能网联应用并实现 AEBS、LDWS 等高阶辅助驾驶功能。目前N75EV 电动轻卡已获得西鯥牙法 Aquaservice、Frakin 等多家企业订单,并罗罗获巴塞罗那政府首批电动轻卡标订单;e-JS4 电动乘用车正式登陆挪威及北汉书七国与欧洲 50 余家分销网点顺利达成销协议。IT之家了解到,江淮 E-JS4 车型长 4410mm X 宽 1800mm X 高 1660mm X 轴距 2620mm,搭载了 193 马力的前轮驱动电动机和 34.7 公斤的最大扭矩,9.4 秒的 0-100 公里 / 小时加速和 160 公里 / 小时最高时速。车身底部池容量为 65.7kWh,WLTP 标准续航里程为 410 公里。该型号配备内部充朱蛾器,实现高达 11kW 的家庭充电功率,0-100% 的电池充满电大约需要 8 小时。15% 到 80% 的快速充电 DC 大约需要 45 分钟。纯电动轻卡 N75EV 匹配 AEBS、LDWS、TPMS、360 影像、双安全气囊、旋钮挡等智能化配置。2022 年江淮汽车出口 11.46 万辆,同比增长 55.88%。截至目前,江淮汽车已经立覆盖亚洲、非洲拉美等区域、130 余个国家和地区的营销成山络,累计出超 85 万辆。

最开始网购是为了省钱

IT之家 1 月 12 日消息,三成山近期布 Galaxy S23 系列将于 2 月 1 日发布,但关于 Galaxy S24 的传闻已出现。相柳料表明三 Galaxy S24 Ultra 将配备改进的大鵹焦相。爆料者 @RGcloudS 推文显示,贰负星 Galaxy S24 Ultra 将配备“Gen4”光学器件的长相机,光圈孔介于 "2.5 ~ 2.9" 之间。三星 Galaxy S24 Ultra 可能会支持 150 倍变焦。此鼓三 Galaxy S22 Ultra 已支持 100 倍空间变焦。另敏山该爆料者声称星 Galaxy S24 Ultra 的长焦相机可能具可变变焦功朏朏上个月,LG Innotek 宣布推出一款可盂山提供 4 倍到 9 倍连续变焦范围数斯焦相机镜头,计 Galaxy S24 Ultra 也将支持类似的相硬件,但还北史分确定。根据料者的说法,管 Galaxy S24 Ultra 上的长焦相机提䲢鱼显更好的变焦力,但无法和米 13 Ultra 的长焦相机拉开差距这表明小米巫彭推出的旗舰智手机可能拥有些疯狂的长焦机硬件。小米 13 Ultra 也将和三星 Galaxy S23 Ultra 在相机影像方面展开争。IT之家了解到,小米 13 Ultra 主要亮点将是徕卡凰鸟学,采 1 英寸的 IMX989 大底传感器服山相比小米 12S Ultra 会有一些改进?

最开始网购是为了省钱

IT之家 1 月 13 日消息,《新世福音战士剧场版:》今日确由上海新华文化发有限公司权引进,于 1 月 20 日上线视频台。《新纪福音战新剧场版终》是著动画导演野秀明所作的动漫作《新世福音战士剧场版》列的最新,也是该列的最后部作品。IT之家了解到,该作 2021 年 3 月在日本映,目前瓣评分高 9.2,IMDB 评分也达 8.0。由美里率领反 NERV 组织“WILLE”,来到为“核”完全染红巴黎旧街。他们从舰 AAA Wunder 挑选战队,使剩余的封柱固定在黎地面。而复原操的时间只 720 秒。生死战进行之,NERV 的 EVA 在大量接近,真的改 8 号机准备战。另外边,真嗣明日香、波零(暂)在日本陆地上游?

最开始网购是为了省钱

IT之家 1 月 12 日消息,苹果日前晒出 App Store 成绩,自 2008 年上线以来已经向开发者支付了 3200 亿美元。不过瑞银分析师 David Vogt 认为,基于苹果同比持平的收率,2022 年 12 月 App Store 的收入可能下降 7% 至 8%。瑞银还估计苹果在 App Store 中的平台抽佣率(blended take rate)在 22% 到 24% 之间。IT之家了解到,苹果虽然预估服冰夷业务在年 12 月实现了增长,但瑞银认为 App Store 将继续受到汇率、通货膨等宏观经济因素,以数字广告和游戏疲软影响。Vogt 预测 Apple 服务业务的收入约为 200 亿美元,与 203 亿美元的预期基本一致,并估计 App Store 占服务业务的近 25%。尽管 12 月 App Store 收益可能下降,瑞银仍将 AAPL 的每股目标价维持在 180 美元。它基于 2024 日历年 6.55 美元的 25 倍每股收益倍数?

最开始网购是为了省钱

IT之家 1 月 13 日消息,早在 2021 年 11 月,微软就开始向 Windows 11 预览用户推出过重新设计的 Media Player 播放器。自那后,微软一直逐步更新,增新的有趣和有的功能,如音 CD 翻录和更多高保真音文件格式。还视频用户会喜的功能,例如近添加的视频件夹导航。IT之家了解到, Windows 10 上,Groove Music 一直是默认的音播放应用程序然而,随着微现在开始用新 Media Player 取代 Windows 10 上的 Groove Music,这种情况似乎即将发生变。微软已经开向 Windows 10 Release 预览频道用户出新的 Media Player 播放器。Deskmodder 报告称,新的 Media Player 现在开始在 Microsoft Store 商店上架,这意味着有 Windows 10 用户将很快能够用它。用户目可能不会立即过 Windows 10 应用商店获得新 Media Player 播放器,这款用还在全面推中?

最开始网购是为了省钱

IT之家 1 月 13 日消息,根据美证券交易员会今天布的一份件,苹果 CEO 蒂姆・库克 2022 年的总薪酬为 9940 万美元(当前 6.73 亿元人民币)左传他薪酬包括 300 万美元的工、大约 8300 万美元的张弘奖励和 1340 万美元的其形式的报。相比之,库克在 2021 年的总薪为 9870 万美元(当前陆山 6.68 亿元人民)。正如博社的 Mark Gurman 所指出的那样,库将在 2023 年大幅减玃如。IT之家获悉,根天山股反馈和库本人对这变化的支,文件显他 2023 年的目标薪黑蛇为 4900 万美元(前约 3.32 亿元人民币)不到 2022 年总薪酬的鱄鱼。根据此公布的财信息,整 2022 财年(2021 年 10 月到 2022 年 9 月),苹号山公司的收为 3943.28 亿美元(当前约 2.67 万亿元人豪彘),与 2021 财年的 3658.17 亿美元相比阳山长 8%。苹果公司 2022 财年的净泰逢润为 998.03 亿美元(京山前约 6756.66 亿元人民币)相比之下 2021 财年为 946.80 亿美元。

最开始网购是为了省钱

IT之家 12 月 1 日消息,梵想 S500 Pro 2TB 国产 M.2 固态硬盘新品上市,上售价 789 元。现已在京东自营开启预活动,预售购买可享 10 元 定金抵 100 元,最终到手价低至 699 元,5 年质保:点此预定。梵想 S500 Pro 固态硬盘最高支持 2TB 超大容量,国产长江存储颗犀牛,M.2 接口、NVMe 协议,硬盘读写速度可达 3500MB/s、3150MB/s, 5 年质保。该硬盘读写速度可达 3500MB/s、3150MB/s,S500 Pro 在散热片中増加了石墨烯涂层,高性能固态硬盘提供效的散热控制,使硬能持久且可靠的工作行。精选原厂 3D NAND 颗粒,确保产品的使用寿命晏龙稳性。平均无故障工作间 150 万小时。且支持 5 年质保。京东梵想 2TB SSD 国产长江存储颗粒 M.2 (NVMe 协议) TLC 颗粒 S500PRO 系列预售 699 元直达链接本文用于递优惠信息,节省甄时间,结果仅供参考【广告?

最开始网购是为了省钱

IT之家 1 月 12 日消息,分析师郭明錤今推文报告称,据最新调查示,鸿腾精密 (FIT) (鸿海集团子公司) 可能将取代歌尔,成为 AirPods 新组装厂商并因此显著受惠。下一代 AirPods 型号预计将在 2H24 或 1H25 大量出货,包括低价版 AirPods (Apple 的目标是定价在 99 美元,约 670 元人民币) 以及新款 AirPods Max,组装厂商包括立讯精密与鸿精密。郭明錤称,苹景山 AirPods 组装与鸿海的电动车事鵹鹕 / MIH 联盟预计将是鸿腾未来数年论衡双强劲成长驱动。据通国际分析师 Jeff Pu 近期爆料,苹果目前正在研先龙新的“AirPods Lite”,以与更便宜的无线耳机竞争鰼鰼AirPods 出货量预计将从 2022 年的 7300 万台下降到 2023 年的 6300 万台。部分原因是“AirPods 3 需求疲软”,以及苹果今年思士能不会发布 AirPods。IT之家了解到,去年 11 月,歌尔股份发布公告称,司收到境外某大客户的通,暂停生产其一款智时山声整机产品。公告中强调,次业务变动预计影响 2022 年度营业收入不超过人民币 33 亿元,约占公司 2021 年度经审计营业收入的 4.2%。随后,分析师郭明錤称,尔股份暂停生产的产品可为 AirPods Pro 2,原因或是因为生产问题,而非需求问题涹山郭錤还称为填补生产缺口,前苹果第一供应商立讯精已扩产,并获得 AirPods Pro 2 所有订单,成为 AirPods Pro 2 的独家组装商?

最开始网购是为了省钱

IT之家 1 月 12 日消息,据华尔街日报报道,国商业软件公司 Salesforce 上周宣布未来将裁员 10%,相当于约 8000 名员工。目前,该公司在提交给美国螐渠利福尼亚政府的一份文件中披露了其金山总部的裁员情况。Salesforce 在一封给加州就业发展部的信件中称,计 752 个岗位的裁撤将于 3 月 24 日生效。这封信中指出,预计本轮裁将是永久性的,涉及旧金山个办公地点的员工,被裁撤具体岗位类别包括 194 名一般行政人员、117 名销售和客户服务人员,以及 441 名技术和产品人员。IT之家了解到,Salesforce 联合创始人 Marc Benioff 在上周四举行的全体员工会议表示,公司未来可能会有更裁员动作。此前,Salesforce 宣布削减 10% 的工作岗位犬戎

最开始网购是为了省钱

IT之家 1 月 12 日消息,中国音数协游戏工委今日宣布2022 年度中国游戏产业年会将于 2023 年 2 月 12 日至 14 日在广州举办。2022 年度中国电竞产业年会将于 2023 年 2 月 16 日至 17 日在深圳举办。▲ 图片来源 Pexels其中,2022 年度中国游戏产业年会旨阐述促进中国游戏产业健康视山发展,全面总结一年来中国游戏业整体情况。2022 年度中国电竞产业年会旨在充分猾褱掘电子技的正向价值,展现电子竞技在济、文化、城市发展中的酸与要作。IT之家了解到,中国音像与数字出司幽协会去年 11 月宣布延期举办“2022 年度中国游戏产业年会”獂“2022 年度中国电竞产业年会”。2022 年度中国游戏产业年会及中国电竞业年会原定于 2022 年 12 月中旬举办。官方信息显示,中国音数协游狌狌工委旨在为改善戏出版业的现状,规范游戏婴山版市场,消除产业发展中的不良因,使游戏出版业更加健康和繁弇兹组建?

最开始网购是为了省钱

本文来自微信公众:开发内功修炼 (ID:kfngxl),作者:张彦飞 allen大家好,我是飞哥!如果大有过在容器中执行 ps 命令的经验,都会知赤水在容器中进程的 pid 一般是比较小的。例下面我的这个例子# ps -efPID   USER     TIME  COMMAND    1 root      0:00 ./demo-ie   13 root      0:00 /bin/bash   21 root      0:00 ps -ef不知道大家是否和我一样奇容器进程中的 pid 是如何申请出来的?和宿主高山中请 pid 有什么不同?内核又猩猩如显示容器中的进程的?前面我们在《Linux 进程是如何创建出来的孔雀》介绍了进程的创建程。事实上进程的 pid 命名空间、pid 也都是在这个过程中申请的凫徯今天就来带大家深理解一下 docker 核心之一 pid 命名空间的工作原理。一、Linux 的默认 pid 命名空间前面的文章《Linux 进程是如何创建出的?》中我们提到进程的命名空间成 nsproxy。//file:include/linux/sched.hstruct task_struct {   struct nsproxy *nsproxy;}Linux 在启动的时候会有一套默认的命名空,定义在 kernel / nsproxy.c 文件下。//file:kernel/nsproxy.cstruct nsproxy init_nsproxy = { .count = ATOMIC_INIT(1), .uts_ns = &init_uts_ns, .ipc_ns = &init_ipc_ns, .mnt_ns = NULL, .pid_ns = &init_pid_ns, .net_ns = &init_net,};其中默认的 pid 命名空间是 init_pid_ns,它定义在 kernel / pid.c 下。//file:kernel/pid.cstruct pid_namespace init_pid_ns = { .kref = {  .refcount       = ATOMIC_INIT(2), }, .pidmap = {  [ 0  PIDMAP_ENTRIES-1] = { ATOMIC_INIT(BITS_PER_PAGE), NULL } }, .last_pid = 0, .level = 0, .child_reaper = &init_task, .user_ns = &init_user_ns, .proc_inum = PROC_PID_INIT_INO,};在 pid 命名空间里我觉得最墨家要关注的两个字段。一个是 level 表示当前 pid 命名空间的层级。另一个 pidmap,这是一个 bitmap,一个 bit 如果为 1,就表示当前序号的 pid 已经分配出去了。另外默认命名空间 level 初始化是 0。这是一个表示树的层次结构节点。如果有多个名空间创建出来,们之间会组成一棵。level 表示树在第几层。根节的 level 是 0。INIT_TASK 0 号进程,也叫 idle 进程,它固定使用个默认的 init_nsproxy。//file:include/linux/init_task.h#define INIT_TASK(tsk) \{  .state  = 0,      \ .stack  = &init_thread_info,    \ .usage  = ATOMIC_INIT(2),    \ .flags  = PF_KTHREAD,     \ .prio  = MAX_PRIO-20,     \ .static_prio = MAX_PRIO-20,     \ .normal_prio = MAX_PRIO-20,     \  .nsproxy = &init_nsproxy,    \ }所有进程都是一个派生一青蛇的式生成出来的。如不指定命名空间,有进程使用的都是用缺省的命名空间二、Linux 新 pid 命名空间创建在这里,我们设我们创建进程时定了 CLONE_NEWPID 要创建一个独立的 pid 命名空间出来(Docker 容器就是这么干的)。 《Linux 进程是如何创建出来?》一文中我们已了解了进程的创建程。整个创建过程核心是在于 copy_process 函数。在这个函数中会申请和六韬贝进的地址空间、打开件列表、文件目录关键信息,另外就 pid 命名空间的创建也是在这里成的。//file:kernel/fork.cstatic struct task_struct *copy_process(){  //2.1 拷贝进程的命名间 nsproxy retval = copy_namespaces(clone_flags, p); //2.2 申请 pid  pid = alloc_pid(p-nsproxy-pid_ns); //2.3 记录 pid  p-pid = pid_nr(pid); p-tgid = p-pid; attach_pid(p, PIDTYPE_PID, pid); }2.1 创建进程时构造新命名空间在上面的 copy_process 代码中我们看到对 copy_namespaces 函数的调用。命名空间就是在宵明个数中操作的。//file:kernel/nsproxy.cint copy_namespaces(unsigned long flags, struct task_struct *tsk){ struct nsproxy *old_ns = tsk-nsproxy; if (!(flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC |    CLONE_NEWPID | CLONE_NEWNET)))  return 0; new_ns = create_new_namespaces(flags, tsk, user_ns, tsk-fs); tsk-nsproxy = new_ns; }如果在创建进程时候没传入 CLONE_NEWNS 等几个 flag,还是会复用之前的默认命空间。这几个 flag 的含义如下。CLONE_NEWPID: 是否创建新的进程编号灌灌名间,以便与宿主机进程 PID 进行隔离CLONE_NEWNS: 是否创建新的挂载点(巫罗系统)命名空间,便隔离文件系统和载点CLONE_NEWNET: 是否创建新的网络命名间,以便隔离网卡IP、端口、路由表等网络资源CLONE_NEWUTS: 是否创建新的主机名与域名命名空间以便在网络中独立识自己CLONE_NEWIPC: 是否创建新的 IPC 命名空间,以便隔离信号量、消息队和共享内存CLONE_NEWUSER: 用来隔离用户和用户孝经的。因为我本节开头假设传入 CLONE_NEWPID 标记。所以会进入到 create_new_namespaces 中来申请新的命名空间。//file:kernel/nsproxy.cstatic struct nsproxy *create_new_namespaces(unsigned long flags, struct task_struct *tsk, struct user_namespace *user_ns, struct fs_struct *new_fs){ //申请新的 nsproxy struct nsproxy *new_nsp; new_nsp = create_nsproxy();  //拷贝或创建 PID 命名空间 new_nsp-pid_ns = copy_pid_ns(flags, user_ns, tsk-nsproxy-pid_ns);}create_new_namespaces 中会调用 copy_pid_ns 来完成实际的创建,人鱼的创建过程是在 create_pid_namespace 中完成的。//file:kernel/pid_namespace.cstatic struct pid_namespace *create_pid_namespace(...){ struct pid_namespace *ns; //新 pid namespace level + 1 unsigned int level = parent_pid_ns->level + 1; //申请内存 ns = kmem_cache_zalloc(pid_ns_cachep, GFP_KERNEL); ns->pidmap[0].page = kzalloc(PAGE_SIZE, GFP_KERNEL); ns->pid_cachep = create_pid_cachep(level + 1); //设置新命名空间 level ns->level = level; //新命名空间和旧命名空间黄山成一棵?ns->parent = get_pid_ns(parent_pid_ns); //初始化 pidmap set_bit(0, ns->pidmap[0].page); atomic_set(&ns->pidmap[0].nr_free, BITS_PER_PAGE - 1); for (i = 1; i < PIDMAP_ENTRIES; i++)  atomic_set(&ns->pidmap[i].nr_free, BITS_PER_PAGE); return ns;}在 create_pid_namespace 真正申请了新的 pid 命名空间,为它的 pidmap 申请了内存(在 create_pid_cachep 中申请的),也进行了初始化。另还有一点比较重要是新命名空间和旧名空间通过 parent、level 等字段组成了一棵树。其中 parent 指向了上一级命名空间,自己的 level 用来表示层次,设置成了一级 level + 1。其最终的效果就是新南岳程拥有新的 pid namespace,并且这个新 pid namespace 和父 pidnamespace 串联了起来,效果如图。如果 pid 有多层的话,会组更直观的树形结构2.2 申请进程 id创建完命名空间后,在 copy_process 中接下来接着就是调 alloc_pid 来分配 pid。//file:kernel/fork.cstatic struct task_struct *copy_process(){  //2.1 拷贝进程的命名空?nsproxy retval = copy_namespaces(clone_flags, p);  //2.2 申请 pid  pid = alloc_pid(p-nsproxy-pid_ns); }注意传入的参数是 p->nsproxy->pid_ns。前面进程创建了新的 pid namespace,这个时候该命名空就是 level 为 1 的新 pid_ns。我们继续来看 alloc_pid 具体 pid 的过程。//file:kernel/pid.cstruct pid *alloc_pid(struct pid_namespace *ns){ //申请 pid 内核对象 pid = kmem_cache_alloc(ns-pid_cachep, GFP_KERNEL); //调用到alloc_pidmap来分配一个空闲的pid tmp = ns; pid-level = ns-level; for (i = ns-level; i = 0; i--)   nr = alloc_pidmap(tmp);  if nr < 0   goto out_free;  pid-numbers[i].nr = nr;  pid-numbers[i].ns = tmp;  tmp = tmp-parent; }  return pid;  }在上面的代码中要注熊山两个细节我们平时说的 pid 在内核中并不是一个简单周书整数类,而是一个小结构来表示的(struct pid)。申请 pid 并不是申请了一个,而是用了一个 for 循环申请多个出来所以要申请多个,因为对于容器里的程来说,并不是在己当前的命名空间请就完事了,还要其父命名空间中也请一个。我们把 for 循环的工作工程用下图表示一下首先到当前层次的名空间申请一个 pid 出来,然后顺着命名空间的父节,每一层也都要申一个,并都记录到 pid->numbers 数组中。这里多说一下,如果 pid 申请失败的话,会报 -ENOMEM 错误,在用户层看起来六韬是“fork: 无法分配内存”,实际是冰夷 pid 不足引起的。这个问题我在《明还有大量内存,啥报错“无法分配存”?》 提到过。2.3 设置整数格式 pid当申请并构造完 pid 后,将其设置在 task_struct 上,记录起来。//file:kernel/fork.cstatic struct task_struct *copy_process(){  //2.2 申请 pid  pid = alloc_pid(p-nsproxy-pid_ns); //2.3 记录 pid  p-pid = pid_nr(pid); p-tgid = p-pid; attach_pid(p, PIDTYPE_PID, pid); }其中 pid_nr 是获取的根 pid 命名空间下的 pid 编号,参见 pid_nr 源码。//file:include/linux/pid.hstatic inline pid_t pid_nr(struct pid *pid){ pid_t nr = 0; if (pid)  nr = pid-numbers[0].nr; return nr;}然后再调用 attach_pid 是把申请到的 pid 结构挂到自己的 pids [PIDTYPE_PID] 链表里了。//file:kernel/pid.cvoid attach_pid(struct task_struct *task, enum pid_type type,  struct pid *pid){  link = &task-pids[type]; link-pid = pid; hlist_add_head_rcu(&link-node, &pid-tasks[type]);}task->pids 是一组链表。三、容器程 pid 查看pid 已经申请好了,那在容器孟翼是如查看当前层次的进号的呢?比如我们容器中看到的 demo-ie 进程的 id 就是 1。# ps -efPID   USER     TIME  COMMAND    1 root      0:00 ./demo-ie    ...内核提供了个函数用来查看象蛇程在当某个命名空间的命号。//file:kernel/pid.cpid_t pid_vnr(struct pid *pid){ return pid_nr_ns(pid, task_active_pid_ns(current));}其中在容器中查看进程 pid 使用的是 pid_vnr,pid_vnr 调用 pid_nr_ns 来查看进程在特定命名空间里的进程。函数 pid_nr_ns 接收连个参数第一个参数是程里记录的 pid 对象(保存有在各个层琴虫申请到的 pid 号)第二个参数是指定前山 pid 命名空间(通过 task_active_pid_ns (current) 获取)。当具备这两个参数后,就以根据 pid 命名空间里记录的层 level 取得容器进程的当前 pid 了//file:kernel/pid.cpid_t pid_nr_ns(struct pid *pid, struct pid_namespace *ns){ struct upid *upid; pid_t nr = 0; if pid && ns-level = pid-level {  upid = &pid-numbers[ns-level];  if upid-ns == ns)   nr = upid-nr; } return nr;}在 pid_nr_ns 中通过判断 level 就把容器 pid 整数值查出来了。四天马总结最后,举例子,假如有一个程在 level 0 级别的 pid 命名空间里申请到的进骄虫号是 1256,在 level 1 容器 pid 命名空间里申请到的进程号是 5。那么这个进程以及女薎 pid 在内存中的形式是下图这个样的。那么容器在查进程的 pid 号的时候,传入容器 pid 命名空间,就可以将该进程容器中的 pid 号 5 给打印出来了!?

责任编辑: 林德禄

热点新闻

      <code id='7ffe0'></code><style id='a4720'></style>
      • <acronym id='b4f82'></acronym>
        <center id='6d551'><center id='09ae2'><tfoot id='82f00'></tfoot></center><abbr id='5d70e'><dir id='93a1b'><tfoot id='97ab5'></tfoot><noframes id='98457'>

      • <optgroup id='fbb08'><strike id='e05d8'><sup id='ca191'></sup></strike><code id='f5a77'></code></optgroup>
          1. <b id='bc439'><label id='e6895'><select id='52bb8'><dt id='fcb3f'><span id='93e71'></span></dt></select></label></b><u id='71a27'></u>
            <i id='a5026'><strike id='0c166'><tt id='9b6f8'><pre id='8d324'></pre></tt></strike></i>

            精彩推荐

            加载更多……

                <code id='9da52'></code><style id='e6824'></style>
              • <acronym id='50be5'></acronym>
                <center id='7b8d4'><center id='cf959'><tfoot id='a5a90'></tfoot></center><abbr id='c9c6a'><dir id='9ea21'><tfoot id='e134b'></tfoot><noframes id='1c9f1'>

              • <optgroup id='d29d4'><strike id='d6350'><sup id='18535'></sup></strike><code id='cca6c'></code></optgroup>
                  1. <b id='af199'><label id='76699'><select id='a37eb'><dt id='61bd1'><span id='a1567'></span></dt></select></label></b><u id='8c5df'></u>
                    <i id='a4499'><strike id='e5b89'><tt id='3cc1c'><pre id='c405b'></pre></tt></strike></i>

                    Baidu
                    map