검색어 입력폼

[유닉스 프로그래밍] smallsh 확장 구현하기

저작시기 2007.09 |등록일 2008.03.13 파일확장자압축파일 (zip) | 가격 1,200원

소개글

<프로그램 과제내용>

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, 홍릉과학출판사
다운로드 맨위로