今日成长笔记2016-09-05

1. 进程里是否得到了环境变量用getenv打印一下便知。

 

2.  进程运行时如果不知道实际用户id可以用getuid获取打印一下。

 

3. setuid可以设置实际用户id为0,前提是得执行文件所属者为root然后+s权限。这样有效用户id就是0了,只有有效用户id是0了(拿到了所属者的权限的切换许可),才允许切换到所属者权限,用setuid切换。

 

4. 升级平台软件调用了动态库,如果升级了自己(换库),库在进程中是加载了的,那么换库会导致升级程序本身崩溃掉。解决办法如下,让动态库以dlopen形式动态加载,换库之前关闭库(dlclose),换库成功之后再打开(dlopen)。并且这个动态库不要以静态形式加载,不然换库的时候无法让他退出加载。

posted @   LiuYanYGZ  阅读(138)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示