[운영체제 실습] 8.시스템 정보 다루기 - (그룹, 시간)

 

#.그룹정보검색 - getgid, getegid 함수 사용하기 

 

예제

결과

 

 

 참고 : 유닉스에서는 그룹에 관한 정보를 /etc/group 파일에 별도로 저장한다.

 사용자가 속한 그룹 중 /etc/passwd 파일의 GID 항목에 지정된 그룹이 기본 그룹이며,

 2차 그룹은 /etc/group 파일에서 지정한다.

 

#.그룹 파일 검색 - getgrnam 함수 사용하기

 

예제

결과

 

#./etc/group 파일을 순차적으로 읽기 

 

예제

결과

 

 

#.로그인 기록 검색

 

who 명령으로 현재 시스템에 로그인하고 있는 사용자에 관한 정보를 검색할 수 있다. last 명령으로는 시스템의 부팅 시각 정보나 사용자 로그인 기록 등을 검색할 수 있다. 이러한 정보는 /var/adm/wtmpx 파일에 저장된다. 이 파일은 바이너리 형태로 저장되기 때문에 vi로 확인할 수 없다. 이 파일의 정보를 읽어 오려면, 파일의 구조와 관련된 구조체와 함수가 필요하다.

 

 

#.var/adm/utmpx/ 파일을 순차적으로 읽기

 

예제

결과

/var/adm/utmpx 파일의 내용을 한행씩 읽어서 로그인명과 터미널 번호를 출력한다.

 

#.기본시간정보 얻기 - time 함수 사용하기

 

예제

 

결과

1970년 1월 1일 0시 0분 0초부터 현재까지 위의 시간만큼 경과했다.

 

 

#.gettimeofday 함수 사용하기

 

예제

결과

 

현재시간은  1593240775. 689731초 이다.

 

#.시간대 정보 - tzset 함수 이용하기

 

예제

 

결과

실행결과를 보면 우리나라의 표준시는 utc와 32,400초(9시간) 차이가 난다.  표준 시간대의 이름은 KST 이다.

 

 

#.시간의 형태 변환 - gmtime, localtime 함수 사용하기

 

예제

결과

년도는 리턴값에 +1900을 더해야 실제 년도를 출력할 수 있다. 요일은 0은 일요일, 6은 토요일을 의미한다. 

 

 

#.초 단위 시간으로 역산 - mktime 함수 사용하기

 

예제

결과

실행결과는 time 구조체에 설정한 시각이 초로 변환되었다.

 

 

#.형식 지정 시간 출력 - ctime 함수 사용하기

 

예제

결과

 

 

#.tm 구조체 시간을 변환해서 출력 - asctime 함수 사용하기

 

예제

결과

 

 

#.strftime 함수 사용하기

 

예제

결과

 

 

예제파일

ch04.zip
0.02MB

 

 

 

 

 

참고 : 유닉스시스템 프로그래밍(한빛미디어)