⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loadave.c

📁 早期freebsd实现
💻 C
字号:
/*  $Revision: 1.3 $***/#include "nnrpd.h"#if	NNRP_LOADLIMIT > 0#include <nlist.h>STATIC struct nlist NameList[] = {    { "_avenrun" },#define	X_AVENRUN	0    { NULL }};/***  Get the current load average as an integer.*/intGetLoadAverage(){    int		fd;    int		oerrno;#if	defined(FSCALE)    long	avenrun[3];#else    double	avenrun[3];#endif	/* defined(FSCALE) */    fd = open("/dev/kmem", 0, 0);    if (fd < 0)	return -1;#if	defined(HPUX)    (void)nlist("/hp-ux", NameList);#else#if	defined(SUNOS5)    (void)nlist("/dev/ksyms", NameList);#else    (void)nlist("/vmunix", NameList);#endif	/* defined(SUNOS5) */#endif	/* !defined(HPUX) */    if (NameList[0].n_type == 0     || lseek(fd, (off_t) NameList[X_AVENRUN].n_value, SEEK_SET) == -1     || read(fd, (char *)avenrun, sizeof avenrun) != sizeof avenrun) {	oerrno = errno;	(void)close(fd);	errno = oerrno;	return -1;    }    (void)close(fd);#if	defined(FSCALE)    return (int)(avenrun[0] + FSCALE / 2) >> FSHIFT;#else    return (int)(avenrun[0] + 0.5);#endif	/* defined(FSCALE) */}#endif	/* NNRP_LOADLIMIT > 0 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -