cat: /proc/22657/ns/net: Invalid argument

這個錯誤是讀取文件的方式不對

 

使用 ls -alth 查看詳情

是一個鏈接,可以使用readlink 命令讀取之;

類似的還有

 

也可以使用readlink函數進行讀取

man 2 readlink 查看使用方式

下面給個例子

#include<unistd.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define  PATH_MAX  64

int main() {
    char result_path[PATH_MAX] = {0};
    ssize_t  size = readlink("/proc/22657/fd/3", result_path, sizeof(result_path) - 1);
    if (size > 0) {
        printf("%s\n", result_path);
    } else {
        printf("Could not read path");
	return -1;
    }
    char * inode = strndup(result_path + 8, strlen(result_path) - 9);
    printf("inode = %s\n", inode);
    free(inode);
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章