[유닉스 프로그래밍] smallsh 확장 구현하기
- 최초 등록일
- 2008.03.13
- 최종 저작일
- 2007.09
- 압축파일
- 가격 1,500원
소개글
<프로그램 과제내용>
smallsh 프로그램을 다음 기능을 포함할 수 있도록 확장해서 작성하시오.
1. command실행 중 interrupt key가 들어올때 실행 중인 command만 terminate되고 shell 프로그램은 그대로 남아 있게 한다.
- sigaction을 통해 interrupt signal을 catch 한다.
2. $> ls -l | wc 와 같은 pipe를 이용한 command를 사용할 수 있도록 한다.
- p 170에 있는 'join' function을 이용하시오.
- popen등 advance된 fuction을 사용하지 말고, pipe, fork, dup2, exec등의 교재에 나와 있는 기본 function들을 이용하시오.
<파일구성>
smallsh.h - smallsh 헤더
smallsh.c - smallsh 소스
test.c - interrupt signal catch확인을 위한 코드 (4초동안 sleep)
test - test.c 컴파일한 파일
smallsh - smallsh.c 컴파일한 파일
screenshot.jpg - 실행 스크린샷
- 자세하게 코드내에 주석 첨부하였습니다 ^.^
<코드내용일부>
/* smallsh.h - smallsh 명령 처리기를 위한 정의들 */
#include
#include
#include
#define EOL 1 /* 줄의 끝 */
#define ARG 2 /* 정상적 인수 */
#define AMPERSAND 3 /* '&' */
#define SEMICOLON 4 /* ';' */
#define PIPE 5 /* 파이프 */
#define FALSE 0 /* 거짓 */
#define TRUE 1 /* 참 */
#define MAXARG 512 /* 명령 인수의 최대 수 */
#define MAXBUF 512 /* 입력줄의 최대길이 */
#define FOREGROUND 0 /* FORE GROUND */
#define BACKGROUND 1 /* BACK GROUND */
컴파일 실행환경
unix system (AIX version 5)
압축파일 내 파일목록
smallsh.h
screenshot.JPG
test.c
smallsh.c
test
smallsh
참고 자료
유닉스 시스템 프로그래밍 2nd edition
KEITH HAVILAND, DINA GRAY, BEN SALAMA, 홍릉과학출판사