프로그래밍 QnA

mr.lee의 이미지

Runtime.exec() 에 관하여

현재 환경입니다.

OS : Solaris 8
Servlet Container : Tomcat 5.0.25
JRE : Sun 1.4.2_05-b04

문제상황: 톰캣의 서블릿에서 외부 프로그램 (C로 되어 있으며 소켓통신함) 을 실행하는 부분이 있습니다. 헌데 톰캣의 file descriptor 갯수가 계속 증가하는 상황입니다. 외부프로그램은 문제없이 실행 후 종료되고 있구요. lsof -p [tomcat pid]로 확인해보니 증가하는것들은 전부 FIFO 입니다. 아마 Runtime.exec() 할때 생성되는 파이프들이 계속 잔존해서 그런것 같습니다. 그래서, 몇가지 테스트도 해보고 있습니다만... 관련해서 몇가지 복합적인 질문을 드리고자 합니다.

soylove의 이미지

파일수정에 대해서.....

txt파일이 있는데
N번째 줄의 마지막 캐릭터 하나만 바뀌도록 프로그램을 해야 합니다.
몇번째 줄인지는 알고 있는데 마지막 캐릭터가 몇번째 글자인지가 때에 따라 틀려지는데요.... end of line을 찾아서 고치면 될거 같긴한데...
캐릭터 하나를 고치려해도 모든 파일을 하나씩 읽어가면서 해당되는 곳을 고쳐야 하는건지... 다른방법은 없는지 알려주세요.....

thisrule의 이미지

yacc로 생성된 c source를 compile시 에러

lex와 yacc를 공부하기 위해 인터넷 사이트에서 올려진 강좌를 따라하고 있습니다.
그런데 컴파일이 안됩니다.
y_calc.y가 있고, y_calc.l이 있습니다.

Quote:
[prompt]% yacc -d y_calc.y
[prompt]% lex y_calc.l
[prompt]% gcc -o calc y.tab.c lex.yy.c -ly -ll
/usr/bin/ld: cannot find -ly
collect2: ld returned 1 exit status

이렇게 되는군요. 즉 liby.a 라는 파일이 없다는 얘기인데 yacc 관련 라이브러리 같습니다.
그래서 이번에 -ly를 빼고 해보았습니다.
Quote:
[prompt]% gcc -o calc y.tab.c lex.yy.c -ll
pjb385의 이미지

 

 

ulra의 이미지

gcc 컴파일 에러를 저장하는 방법이 있나요?

안녕하세요.

gcc 의 컴파일 에러 메세지를 캡쳐하려고

gcc a1.c > errmsg

이와같이 했는데 아무것도 저장되지 않습니다.

옵션에도 그런것이 없는거 같아서 이렇게 질문하게 되었습니다.

어떻게 해야하는지 알려주세요.

hifiverhee의 이미지

웹서버에서 프로세스가 사라지는 문제

안녕하세요..
아파치+파이선 을 이용하여 웹구성을 하고 있습니다.

궁금한 내용은
cgiwrap을 이용하여 각 계정 밑에서 제가 실행하는 프로그램을 돌리면 정상적으로 끝납니다.
그런데 이것을 웹 루트에 apache 계정을 통해서 실행하면 약 30초 정도만 실행되다가 프로세스 리스트에서 없어져 버리는 현상이 있습니다.

프로세스가 사라지는 것은 top 에서 확인한 결과이고,
ps 를 이용하면 해당 파일이 실행되고 있는 것이 확인이 됩니다.

문제는 프로세스가 죽지 않았다면 실시간으로 순차적으로 결과 파일이 생기는 것이 정상인데, 파일은 생기지 않다가 나중에 웹 브라우저를 죽이지 않고 둔 상태에서 보면 파일이 생겨있습니다.

wakeup의 이미지

select 함수

int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)

select 함수의 파일 디스크립터 파라미터 중 주로 read fd를 많이 사용하는 거 같은데요, 네번째 파라미터인 exceptfds는 주로 언제 사용하는지 알고 싶습니다.

검사 대상의 파일 디스크립터에서 예외가 발생했을 때 select 함수가 리턴하는데, 예외 발생이라는 말이 좀 애매합니다.
구체적인 예를 알면 이해하기가 좀 쉬울 거 같은데요..아시는 분 설명 부탁드립니다.

winicon의 이미지

[재 질문] pcap 라이브러리 이용시 캡쳐부분에서 코딩 문제?

안녕하세요.

테스트 한 끝에 다시 질문을 드립니다.

/////////////////////////////////////////////////////////////////
// 이전 글
pcap 라이브러리를 이용해서 윈도우에서 어떤 프로그램으로

데이터가 들어오는 패킷을 모든 잡을려고 하는데요.

참고로 data traffic은 그렇게 많지는 않습니다.

옵션을 "tcp port 1234" 이렇게 주고 promiscuous mode로는 안하고 돌렸는데요.
실제 프로그램에서는 10개 데이터가 왔는데, 캡쳐하는 프로그램에서는 대략 10개중 3개 데이터는 안 잡히네요.

litnsio2의 이미지

subversion 에서..

현재 debian 3.1 r0 깔아다가 이것저것 해보고 있습니다.
학교에서 과제 하나가 나와서 요기서 플밍을 하고 있는데요.

subversion 에 익숙해지려고 이것도 같이 사용하고 있습니다.
apt 로 subversion 을 설치해서 사용중인데 commit 을 할때
commit 내용이 emacs 로 열려서 여간 불편한게 아닙니다.
(변경사항이 몬지 그냥 보기만 하면 되니까요.)

FC4 에서 사용할 때는 제가 환경변수를 지정해서 그 값을 cat 로 했었는데..
그 변수이름을 까먹었습니다. -_-; 혹시 아시는분 계신지.. 검색해도 안나오더라고요.

vudghkzm의 이미지

vim에서 set foldmethod=marker를 설정했을 때 무슨 마크를 폴딩

vim 에서 set foldmethod=marker 로 설정해놓으면 사용자가 마크 해 놓은 것으로 둘러쌓인 블럭을 폴딩할 수 있다고 들었는데요.

어떤 마크를 폴딩 마크로 사용해야 하나요?

페이지

프로그래밍 QnA 구독하기