[차례]  [함수색인] Wel 도움말 문서 [이전]  [다음]
대분류: Wel의 소개
소분류: Wel의 실행과정
Wel의 실행과정 작성일: 2001/12/12
수정일: 2002/07/05

1. Wel 의 실행 과정

※ /etc/wel.root에 대하여 Wel의 초기 개발 버전부터 설계되어 있었던 기능이었으나 여러가지 이유로 인하여 배포할 때 이 기능은 제거 되었습니다. 이것은 서버 관리자가 /etc/wel.root에 Wel 프로그램을 작성하여 root의 권한으로 실행할 수 있는 것으로 계정 사용자의 잘못된 Wel의 사용으로 인한 장애를 극복할 수 있는 수단을 제공하게 됩니다. 가장 좋은 예로 프로그램을 잘못 작성하여 무한 루프에 빠지게 되면 그 프로그램에서 timeout()함수를 호출하여 실행시간을 제한해 두었다면 문제가 없지만 그렇지 않으면 프로세스를 강제 종료하지 않는 한 무한히 실행을 하게 됩니다. 최악의 경우를 가정하여 아래와 같이 test.wel이란 프로그램을 작성했다고 가정합니다. --------------------------------------------- #/bin/wel i= 1; while(i <= 10) i= 2; --------------------------------------------- 위와 같이 프로그램을 작성한 후, 이 프로그램을 /etc/crontab에서 10분 간격으로 실행을 하도록 했다면 종료가 되지 않고 무한히 실행되기 때문에 10분 마다 프로세스가 생성되고 무한히 실행하여 시간이 경과하면 메모리가 소진되어 결국 서버가 다운될 것입니다. 이 기능을 다시 사용하게 된 가장 큰 이유는 사용자의 실수로 위와 같은 프로그램이 실행될 때 이를 통제할 수 있는 수단을 /etc/wel.root가 제공할 수 있기 때문입니다. 기본적으로 설치되는 /etc/wel.root는 위의 예제처럼 무한 루프를 실행하는 프로그램을 종료시킬 수 있도록 하기 위하여 실행 시간을 30초로 제한 하도록 프로그래밍 하였습니다. 서버 관리자는 실정에 알맞게 /etc/wel.root를 수정 하시면 될 것입니다. 만일 특정 프로그램을 실행시간 제한 없이 실행하기를 원한다면 해당 프로그램 내에서 timeout(0); 을 호출하여 실행시간 제한을 해제하시면 됩니다.

Wel Version 1.0
[차례]  [함수색인] [이전]  [다음]