📄 kern_info.c
字号:
#include <linux/unistd.h>#include <linux/types.h>#include <linux/sysctl.h>#include <stdio.h>_syscall1(int, _sysctl, struct __sysctl_args *, args);int sysctl(int *name, int nlen, void *oldval, size_t *oldlenp, void *newval, size_t newlen){ struct __sysctl_args args={name,nlen,oldval,oldlenp,newval,newlen}; return _sysctl(&args);}#define SIZE(x) sizeof(x)/sizeof(x[0])#define OSNAMESZ 100#define OSRELEASESZ 256char osname[OSNAMESZ];char osrelease[OSRELEASESZ];int osnamelth;int name[] = { CTL_KERN, KERN_OSTYPE };int osreleaseth;int release[] = { CTL_KERN, KERN_OSRELEASE };main(){ osnamelth = sizeof(osname); if (sysctl(name, SIZE(name), osname, &osnamelth, 0, 0)){ perror("sysctl"); return -1; } osreleaseth = sizeof(osrelease); if(sysctl(release, SIZE(release), osrelease, &osreleaseth, 0, 0)){ perror("sysctl"); return -1; } printf("This machine is running %s %s\n", osname, osrelease); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -