좋은 예제가 될지는 모르겠지만 무한대전 머드 소스 보세요. 포크 한 다음에 어떻게 하는지, 그 전에 어떻게 하는지 나와 있습니다. 보통 stdin, stdout, stderr을 전부 닫고 그 후에 setsid로 자리를 잡게 한 뒤(아마 이거 차례가 바뀐 것 같군요.) 그 후에 fork 하시고 if문으로 부모 프로세스면 죽이고 자식 프로세스면 안 죽게 만들면 되는 거죠 뭐 음... 전 exec를 쓴 소스는 별로 못 본것 같군요.
그럼...
이여송 사도요한 드림.
----
일어나라! 싸워라! 그리고 이겨라!
다만!!! 의미 있는 것에 그 힘을!!!
그 능력과 노력을!!!
검색만이
검색만이 대한민국이 살길입니다 8) 현재 http://kldp.org/ 사이트의 검색은 충분히 강력하지 못합니다만, http://bbs.kldp.org/ 사이트의 검색은 원하시는 걸 찾기에 충분하고 또 충분합니다.
----
$PWD `date`
$PWD `date`
setsid?
제어 터미널을 떼내고 싶어하시는 것 같은데... exec() 다음에 setsid()와 fork()를 호출하면 될 듯 싶네요.
어려우시면..
좋은 예제가 될지는 모르겠지만 무한대전 머드 소스 보세요. 포크 한 다음에 어떻게 하는지, 그 전에 어떻게 하는지 나와 있습니다. 보통 stdin, stdout, stderr을 전부 닫고 그 후에 setsid로 자리를 잡게 한 뒤(아마 이거 차례가 바뀐 것 같군요.) 그 후에 fork 하시고 if문으로 부모 프로세스면 죽이고 자식 프로세스면 안 죽게 만들면 되는 거죠 뭐 음... 전 exec를 쓴 소스는 별로 못 본것 같군요.
그럼...
이여송 사도요한 드림.
----
일어나라! 싸워라! 그리고 이겨라!
다만!!! 의미 있는 것에 그 힘을!!!
그 능력과 노력을!!!
사람천사
댓글 달기