리눅스(proc)파일
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

리눅스(proc)파일에 대한 보고서 자료입니다.

목차

1.소스코드(*.c)

2.결과파일(*.out)

본문내용

ime / (60*60*24);
time %= (60*60*24);
hour = time / (60*60);
time %= (60*60);
min = time / 60;
time %= 60;
if(flag == 1) // 1일경우
printf(" %d days %d hours %d minutes %d seconds\n", day, hour, min, time);
else if(flag == 2){ // 2일 경우
if(day < 10)
printf(" day:hour:min:sec 0%d:%d:%d:%d\n", day, hour, min, time);
else
printf(" day:hour:min:sec %d:%d:%d:%d\n", day, hour, min, time);
}
fclose(fp);
}
void os_ver(char *version){ // 커널 버전을 출력하는 함수
int i;
FILE *fp = fopen(version, "r");
if(fp == NULL){
notopen(version);
return;
}
while(!feof(fp)){
if(fgets(result1, MAX+1, fp) == NULL) break;
for(i=0; i<21; i++) // 실제 필요한 부분인 버전 정보만을 가져온다.
result2[i] = result1[i];
printf(" %s\n", result2);
}
fclose(fp);
}
void num_proc(char *filename){ // 현재 사용되는 프로세서의 수를 세는 함수
int i;
FILE *fp = fopen(filename, "r");
if(fp == NULL){
notopen(filename);
return;
}
if(fgets(result1, MAX+1, fp) != NULL)
for(i=15; result1[i]!='/'; i++)
printf(" %c\n", result1[i]);
fclose(fp);
}
void rw_request(char *filename, char *parse){ // read/write request 수를 세는 함수
int i, j;
FILE *fp = fopen(filename, "r");
if(fp == NULL){
notopen(filename); return;
}
fgets(result1, MAX+1, fp);
while(!feof(fp)){
if(fgets(result1, MAX+1, fp) == NULL) break;
for(i=0; i<7 ; i++) // 파일에서 적당한 부분만을 가져온다.
result2[i] = result1[i];
result2[i] = '\0';
if(strcmp(result2, parse) == 0){
for(i=0; result1[i] != ')'; i++);
for(j=i+3; result1[j] != ','; j++)
result2[j-i-3] = result1[j];
result2[j-i-3] = '\0';
break;
}
}
printf(" %s\n", result2);
fclose(fp);
}
void notopen(char *filename){ // fopen시 열리지 않을때 에러메시지
printf(" %s : file open error!. Please insert correct filename.\n", filename);
}
void just_print(char *filename){ // 파일을 parsing하는것없이 그냥 출력해주는 함수
FILE *fp = fopen(filename, "r");
if(fp == NULL){
notopen(filename);
return;
}
while(!feof(fp)){
if(fgets(result1, MAX+1, fp) == NULL) break;
printf(" %s", result1);
}
fclose(fp);
}
void partition(char *filename){ // 현 filesystem의 root용량을 측정하는 함수
int i;
char temp[MAX];
FILE *fp = fopen("/etc/lilo.conf", "r"); // 파일로 부터 root 파티션 정보를 얻는다.
if(fp == NULL){
notopen(filename);
return;
}
while(!feof(fp)){
if(fgets(result1, MAX+1, fp) == NULL) break;
if(result1[0] == '\t'){
for(i=1; i<5; i++)
result2[i-1] = result1[i];
result2[i-1] = '\0';
// 예를 들어 내 컴퓨터의 경우 root 파티션은 hda7
if(strcmp(result2, "root") == 0){
for(i=11; result1[i] != '\0'; i++)
result2[i-11] = result1[i];
result2[i-11] = '\0';
strcpy(temp, result2);
break;
}
}
}
fclose(fp);
fp = fopen(filename, "r");
if(fp == NULL){
notopen(filename);
return;
}
fgets(result1, MAX+1, fp);
while(!feof(fp)){
if(fgets(result1, MAX+1, fp) == NULL) break;
for(i=22; result1[i] != '\0'; I++) // hda7의 정보를 찾기위해 파싱.
result2[i-22] = result1[i];
result2[i-22] = '\0';
if(strcmp(temp, result2) == 0){
// 현재 hda7(내 컴퓨터의 경우)과 비교하여 현재의 filesystem을 찾는다.
for(i=10; i<21; i++)
// root의 용량을 측정한다.
result2[i-10] = result1[i];
result2[i-10] = '\0';
break;
}
}
printf(" %s\n", result2);
fclose(fp);
}
2. hw03_A.out
3. hw03_B.out
4. hw03_C.out
5. hw03_D.out

키워드

proc,   리눅스,   file,   i/o,   프로세스,   z
  • 가격800
  • 페이지수11페이지
  • 등록일2003.10.18
  • 저작시기2003.10
  • 파일형식한글(hwp)
  • 자료번호#227013
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니