검색어 입력폼

[유닉스 프로그래밍] 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, 홍릉과학출판사
다운로드 맨위로