uname

이름
    uname - 현재 커널에 관한 이름과 정보를 얻어온다.

사용법
    #include <sys/utsname.h>
    int uname(struct utsname *buf);

설명
    uname은 buf가가리키는 구조체에 시스템 정보를 리턴한다.  utsname 구조체는 다음과 같다. 
    <sys/utsname.h>:
    struct utsname {
                char sysname[SYS_NMLN];
                char nodename[SYS_NMLN];
                char release[SYS_NMLN];
                char version[SYS_NMLN];
                char machine[SYS_NMLN];
          #ifdef _GNU_SOURCE
                char domainname[SYS_NMLN];
          #endif
    };

반환값
    성공시, 0이 리턴된다. 에러시, -1이 리턴되며 errno가적절한 값으로 설정된다.

에러
    EFAULT buf가유효하지 않다.

호환
    SVr4, SVID, POSIX, X/OPEN
    domainname 변수는 GNU 확장이다.

관련 항목
    uname(1), getdomainname(2), gethostname(2)

셈플 소스

  struct utsname buf;
  uname(&buf);

  printf("sysname    %s\n", buf.sysname   );
  printf("nodename   %s\n", buf.nodename  );
  printf("release    %s\n", buf.release   );
  printf("version    %s\n", buf.version   );
  printf("machine    %s\n", buf.machine   );
  printf("domainname %s\n", buf.domainname);

출력 결과

    sysname    Linux
    nodename   redjini.com
    release    2.6.18-8.el5
    version    #1 SMP Thu Mar 15 19:57:35 EDT 2007
    machine    i686
    domainname (none)
2008/12/01 15:03 2008/12/01 15:03
태그 : ,
글 걸기 주소 : 이 글에는 트랙백을 보낼 수 없습니다