Linux 파이프라인을 이용한 실습
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

Linux 파이프라인을 이용한 실습에 대한 보고서 자료입니다.

본문내용

AMPERSNAD일 경우에 처리
74: toktype이 AMPERSAND일 경우에 type을 BACKGROUND로 지정하고 아니라면 type을 FORGROUND로 지정한다. // BACKGROUND일 경우에 나중에 처리하도록 하기 위해서 분리
78: argument의 개수가 0이 아니라면, arg[]배열의 narg번째를 NULL로 정하고, 그 배열과 타입을 매개변수로 하는 runcommand()를 실행한다.
82: toktype이 EOL이라면 return 하고, 아니라, argument의 수를 0으로 초기화하고 break한다.
85: toktype이 PIPE일 경우에 pipe의 개수를 하나 증가시킨다.
98: pipe를 실행시키는 함수 선언
101: pipe을 저장하기 위한 2차원배열 선언
102: pipe의 개수만큼 pipe를 생성하는데 파일 디스크립터를 저장할 수 있는 배열을 argument로 넘긴다.
104: pid 가 0이 아니면 continue한다.
105: dup2()는 파일 디스크립터의 복사본을 생성해 주는 것입니다. 그전의 파일핸들을 존재하는 새로운 파일핸들로 복사해주는 역할을 한다.
108: cline[i]를 실행한다. 실패 시에 에러 메시지를 출력한다.
117: 선택적인 wait와 함께 명령어를 실행하는 함수이다.
120: switch문 : fork() 호출로 리턴된 값이 저장된 pid에 따라서
121: pid 가 -1이면 error메세지 출력, 리턴
123: pid 가 0 이면 child process이므로 명령어 실행
124: pipe의 개수가 0이 아니라면 pipe를 실행시킨다.
132: type이 BACKGROUND라면 pid를 출력하고 리턴한다.
136: 자신이 생성한 child 프로세스가 완료되면 return -1 아니면 status리턴
141: main() 함수
143 입력 받은 line의 끝까지, procline() 호출
[ 결과화면 ]
[ 소감 ]
- 이번 실습을 통해서 shell의 기능을 이해하는데 도움이 많이 된 것같다. 이번 과제를 하면서 제일 어려웠던 점은 ‘ | ’의 기능은 알겠지만 프로그램상에 어떻게 돌아가는 지를 이해하는 것이 힘들었다. 우선 핸드아웃으로 받은 프로그램 소스를 이해하고, 책과 인터넷 자료를 통해서 ‘|’ 의 기능을 이해하고 프로그램 소스를 구현 했지만 결과 화면을 보면 알 수있듯이 그 파이프 기능을 실행하는 것은 완성하지 못했다.
  • 가격1,900
  • 페이지수6페이지
  • 등록일2020.12.09
  • 저작시기2007.8
  • 파일형식한글(hwp)
  • 자료번호#1141749
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니