gan*_*ars 3 c linux systems-programming proc
我阅读cat /proc/[pid]/maps
了有关其地址空间的信息.所以我想编写一个程序来打印自己的地址空间.
我的节目是这样的;
pid_t pid;
int fd;
char *buf;
pid = getpid();
fd = open("/proc/????/maps", O_RDONLY);
Run Code Online (Sandbox Code Playgroud)
我正在获取PID,但它无法帮助我打开文件.如何将pid转换pid_t
为字符串并将其添加到open
调用?
或者有没有其他方法来打开文件?
所有现代procfs系统都实现"/proc/self/"
了运行过程.只是
fd = open("/proc/self/maps", O_RDONLY);
Run Code Online (Sandbox Code Playgroud)
如果您仍希望自己创建路径字符串,则必须使用 sprintf
char filename[128];
sprintf(filename, "/proc/%d/maps", getpid());
fd = open(filename, O_RDONLY);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
714 次 |
最近记录: |