Á¶°¢ÄÚµå : ½Ã½ºÅÛ ºÎÆÃ ÈÄ °æ°ú½Ã°£ °Ë»ç
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : Code>C>uptime



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Contents

1 ¼³¸í
2 »ç¿ë¹æ¹ý
3 ÄÚµå
4 ÄÄÆÄÀÏ
5 º¯°æ»çÇ×

1 ¼³¸í

¸®´ª½º/¼Ö¶ó¸®½º ½Ã½ºÅÛÀÇ ºÎÆÃÈÄ °æ°úµÈ ½Ã°£À» ÃÊ´ÜÀ§·Î ¾ò¾î¿É´Ï´Ù. ºÎÆÃ½Ã°£Àº /proc/uptimeÀÇ °ªÀ» ÀÌ¿ëÇØ¼­ °è»êÇÕ´Ï´Ù. ºÎÆÃ°æ°ú ½Ã°£Àº ´Ü¼øÈ÷ ½Ã½ºÅÛÀÇ ºÎÆÃ ½Ã°£À» ¾ò¾î¿À´Â °Í ¿Ü¿¡µµ ÇÁ·Î¼¼½ºÀÇ CPU»ç¿ëÀ² µîÀ» °è»êÇϱâ À§ÇÑ ¿ëµµ·Îµµ »ç¿ëµË´Ï´Ù.

2 »ç¿ë¹æ¹ý

int uptime(); 
 
  1. ¸®Åϰª : ½ÇÆÐÇßÀ» °æ¿ì -1À» ±×·¸Áö ¾ÊÀ»°æ¿ì 0º¸´Ù Å«°ªÀ» ¸®ÅÏ

int main() 
{ 
    time_t cutime = uptime(); 
    time_t starttime = time((time_t *)NULL)  - cutime; 
    printf("Uptime is %d sec\n", (unsigned int)cutime); 
    printf("Booting time is %s\n",time2str(starttime, "y/m/d/ D h:mi:s")); 
    return 0; 
} 
 

´ÙÀ½Àº Ãâ·Â °á°úÀÔ´Ï´Ù.
# ./uptime  
Uptime is 55489 sec 
Booting time is 2004/02/01/ ÀÏ 01:50:42 
 

<!> time2str ÇÔ¼ö´Â time2strÀ» Âü°íÇϱ⠹ٶø´Ï´Ù.

3 ÄÚµå

#include <stdio.h> 
#include <time.h> 
#include "time2str.h" 
 
#ifdef _SOLARIS_ 
#include <kstat.h> 
#endif 
 
#include <stdio.h> 
 
int uptime() 
{ 
  double stime; 
  double idletime; 
#ifdef _LINUX_ 
  char buf[36]; 
  FILE *fp; 
  if ((fp = fopen("/proc/uptime", "r")) == NULL) 
  { 
    return -1; 
  } 
 
  fgets(buf, 36, fp); 
  sscanf(buf, "%lf %lf", &stime, &idletime); 
  fclose(fp); 
 
  return (int)stime; 
#endif 
 
#ifdef _SOLARIS_ 
  kstat_ctl_t *kc; 
  kstat_t *ks; 
  kid_t kid; 
  kstat_named_t *named; 
  int i; 
 
  kc = kstat_open(); 
  if(kc == NULL) 
  { 
    perror("kstat_open"); 
    exit(0); 
  } 
 
  ks = kstat_lookup(kc, "unix", -1, "system_misc"); 
  kid = kstat_read(kc, ks, NULL); 
  named = kstat_data_lookup(ks, "lbolt"); 
  return (named->value.ul)/100; 
#endif 
} 
 

4 ÄÄÆÄÀÏ

  • Solaris¿¡¼­ ÄÄÆÄÀÏ ÇÒ°æ¿ì kstat¸¦ ¸µÅ©½ÃÄÑÁÖ¾î¾ß ÇÑ´Ù.

    # gcc -o test uptime.c -lksat -D_SOLARIS_ 
     


5 º¯°æ»çÇ×

  1. ¼Ö¶ó¸®½º¿¡ »ç¿ë°¡´ÉÇϵµ·Ï º¯°æ : 2005/05/12
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.