[완료] 하나의 쉘에서 두개의 실행파일을 수행할때 서로 내용을 공유하려고 하려면..
글쓴이: memeyou / 작성시간: 목, 2008/03/27 - 3:04오후
예를 하나 들어보겠습니다.
쉘에서 test1, test2라는 프로그램을 순차적으로 수행시킨다고 할때..
test1에서 나온 결과값(문자열)을 test2에 전해주고 싶은데요..
test1프로그램에서 putenv()를 해봤자 자기자신과 자식한테만 환경변수값을 인지해서.. test2에서 getenv()를 해서
얻을수도 없고..
무식하지만 test1의 main(argc, *argv[])의 인자값 예를들면 argv[1]에 값을 넣으면 쉘에서 test1을 수행한 후에
test1의 argv[1]값을 인식하지 않을까 했는데 이것도 불가능하군요.
같은 쉘내의 두개의 순차적으로 수행되는 프로그램들 간에 문자열값을 줄 수 있는 방법이 없을까요..?
파일을 이용한다거나 공유메모리를 이용한다거나 하는 방법 이외에 다른 방법이 있을지 궁금합니다.
Forums:
메시지 큐를 사용하면 되지 않을까요?-_-;;
-_-;;알고 계셨다면 패스
-----------------------------------
궁금증으로 가득찬 20후반 -_-;;
탄생은 죽음의 시작에 불과하다.
블로그
http://azdream.egloos.com
http://koreaappler.blogspot.com
검색엔진
http://applersearchengine.topicle.com/
laziness, impatience, hubris
不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
메시지큐나, 셰어드메모리,파일 밖에는 답이 없을까요..?
되도록이면.. 키값을 이용하지 않으려고.. 셰어드메모리나, 메시지큐를 안쓰려고해서요..
남의 소스 카피&페이스트해서 코딩하는 사람들이.. 키값도 바꾸지않고 쓰는 바람에
종종 충돌이 나는 경우가 있어서요....
딱 Pipe 의 경우
딱 Pipe 의 경우 아닌가요?
test1 의 표준출력을 test2의 표준입력으로 이용하는...
pipe, popen 등 관련 함수들을 살펴보세요.
--------------------
Emerging the World!
Emerging the World!
아.. pipe() 관련해서 man해봐야겠군요..
감사합니다. 파이프에 대해서 알아보겠습니다!
대강
대강 개념만....
test1.c
test2.c
test.sh
OTL
댓글 달기