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

📄 loadavg.c

📁 早期freebsd实现
💻 C
字号:
/*************************************************************************** * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE * * is provided to you without charge, and with no warranty.  You may give  * * away copies of JOVE, including sources, provided that this notice is    * * included in all the files.                                              * ***************************************************************************/#include "jove.h"#ifdef	LOAD_AV# if	defined(BSD4_2) && !defined(BSD2_10)#   if	defined(PURDUE_EE) && (defined(vax) || defined(gould))voidclosekmem(){}intget_la(){	return loadav(0);}#   else	/* !(defined(PURDUE_EE) && (defined(vax) || defined(gould))) */#ifdef	sun#   include <sys/param.h>#endif#include <nlist.h>/* * struct nlist has different sizes on various machines.  So we * deliberately initialize only the first element. */static struct	nlist nl[] = {	{ "_avenrun" },#define	X_AVENRUN	0	{ "" },};static int	kmem = 0;voidclosekmem(){	if (kmem > 0)		close(kmem);}intget_la(){#ifdef	sun	long	avenrun[3];#else	double	avenrun[3];#endif	extern long	lseek proto((int, long, int));	if (kmem == -1) {		return 400;	/* So shell commands will say "Chugging" */	} else if (kmem == 0) {		if ((kmem = open("/dev/kmem", 0)) == -1) {			f_mess("Can't open kmem for load average.");			return 400;		}		nlist("/vmunix", nl);	}	lseek(kmem, (long) nl[X_AVENRUN].n_value, 0);	read(kmem, (UnivPtr) avenrun, sizeof(avenrun));#ifdef	sun	return (int) (avenrun[0] * 100L / FSCALE);#else	return (int) (avenrun[0] * 100. + .5);#endif}#    endif  /* !(defined(PURDUE_EE) && (defined(vax) || defined(gould))) */#  else	/* !(defined(BSD4_2) && !defined(BSD2_10)) */voidclosekmem(){}intget_la(){	short	avg[3];	gldav(avg);	return (int) (avg[0]*100L / 256);}#  endif	/* !(defined(BSD4_2) && !defined(BSD2_10)) */#endif	/* LOAD_AV */

⌨️ 快捷键说明

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