主题
文章
开源项目
资源
注册
登录
首页
会员
spider的信息
TA的收藏
初级会员
第 2 位会员
ID:
spider
注册时间:
2021-01-28 12:27:24
是否在线:
Offline
财富:
29
1
更多>>
最近发布的主题
命令行
如果systemd的版本没有变,我执行 daemon-reexec 后如何判断进程是否重启过
at
公有云
cloud-init 的三个常用目录的功能和区别是什么?
at
综合讨论
Direct IO vs Page Cache?
at
命令行
块设备上如何统计平均写 request 大小(bytes/IO)?
at
命令行
线上 Java Runtime Environment 常用排障工具有哪些?
at
更多>>
最近发布的文章
Debian 终于完全删除了 Python 2 相关的软件包
at
WebAssembly:无需容器的 Docker (下)
at
WebAssembly:无需容器的 Docker (上)
at
更多>>
最近分享的资源
暂无
更多>>
最近发布的项目
漏洞扫描 容器安全 Trivy
at
更多>>
最近的评论
评论了
主题
如果systemd的版本没有变,我执行 daemon-reexec 后如何判断进程是否重启过
另一种方式,通过观察进程打开的文件描述符变化, reexec 会关闭一些临时的、不需要继承的文件描述符。虽然 systemd 会尽量保留关键 socket,但某些内部文件句柄会重新打开。 ``` # 执行前 ls -l /proc/1/fd/ | wc -l # 执行 reexec sudo systemctl daemon-reexec # 执行后 ls -l /proc/1/fd/ | wc -l ``` 最后还有一种最直接的方式,使用 strace 或审计日志(需要预判) 如果你能提前准备,可以在执行 reexec 前开启对 PID 1 的系统调用追踪: ``` # 在另一个终端,追踪 PID 1 的系统调用(需要 root) sudo strace -p 1 -o /tmp/systemd-strace.log ``` 然后在另一个终端执行 `sudo systemctl daemon-reexec`。回到 strace 终端,你会看到大量的 execve() 调用和重新初始化的过程。这是最直接的证据。注意:strace 会影响 PID 1 的性能,避免在生产系统上这样做。
评论了
主题
如果systemd的版本没有变,我执行 daemon-reexec 后如何判断进程是否重启过
观察进程内部的内存布局变化(高级) /proc/1/maps 记录了进程的内存映射布局。即使二进制文件相同,两次 reexec 后内存映射的起始地址或加载顺序也可能因为 ASLR(地址空间布局随机化)而略有不同。 ``` # 执行 reexec 前 cat /proc/1/maps | head -5 > /tmp/before.txt # 执行 reexec sudo systemctl daemon-reexec # 执行后 cat /proc/1/maps | head -5 > /tmp/after.txt # 对比差异 diff /tmp/before.txt /tmp/after.txt ``` 如果看到差异,说明进程确实重新加载了二进制和库文件。但注意:ASLR 是内核在 exec() 时随机化的,但 reexec 会触发新的随机化吗?会,因为 exec() 会重新初始化 ASLR。所以理论上会有差异。 不过这种方法受内核版本和配置影响,并非 100% 可靠。
评论了
主题
以太坊 2029 路线图详解:「忒修斯之船」式重建
ETH 扩展版图大致由四层组成: - Ethereum L1(结算与安全) - Rollup / L2(Base、Arbitrum、Optimism、zkSync 等) - 模块化基础设施(Celestia、EigenDA、Espresso) - MEV 与区块生产层(Flashbots、Titan Builder)
评论了
主题
cloud-init 的三个常用目录的功能和区别是什么?
cloud-init 执行顺序如下,脚本目录通常在 cloud-final 这步执行, ``` systemd ↓ cloud-init-local.service ↓ cloud-init.service ↓ cloud-config.service ↓ cloud-final.service ```
评论了
主题
Direct IO vs Page Cache?
| 维度 | 模型 | | -------- | -------- | | 缓存方式 | Page Cache / Direct I/O | | 阻塞模型 | Blocking / Non-blocking | | 事件机制 | select / poll / epoll | | 异步模型 |AIO / io_uring | | 零拷贝 | mmap / splice / sendfile |
最新主题
|
最新资源
|
最新评论
X
登录和大家一起探讨吧
用户名
密码
记住登录状态
登录
GitHub 登录
Gitea 登录
忘记密码?
还不是会员
现在注册
最近的评论