윈도우즈에서 fork()사용에 관해서

따스한이야기의 이미지

현제 windows XP를 사용중이고 비주얼 스튜디오 6.0에서 작업중입니다

윈도우에서는 fork라는 함수가 존재하지 않더라구요

그래서 자료를 찾아보는 CreateProcess라고 함수가있던데

어떻게 사용하는지 또 어떤 방식으로 되어있는지에 되해서 알 수가 없더군요...

쓰레드를 사용하기는 코딩이 더 복잡해진다는 문제점 때문에 쓰레드말고 fork처럼 프로세서를 생성해서 만들고 싶습니다

어떻게 하는것인지 알려주세여

그리고 제가 정확하게 코딩하려고 하는것은

소켓을 이용하여 데이터를 전송받으면 그 데이터를 버퍼에 저장하고

저장된 버퍼의 데이터를 읽어들어와 Disk에 저장하는것입니다.
(여기서 말하는 disk는 DB사용입니다)

소켓으로 데이터를 전송받는것은 데이터를 disk에 저장하고있을때에도 계속 전송받아서 버퍼에 저장해야합니다

버퍼에서 데이터를 읽어올때는 pipe Line를 통하여 읽어오는것입니다.

고수닙들의 답변 기다리고있겠습니다.

ageldama의 이미지

대략 MSDN 찾아보시믄 나오는데;;; 글구 케엘디피는 좀 윈도쪽 물어보심 까칠하지요^^;

어쨌든 대부분의 인자들은 NULL, FALSE정도 넘겨주시믄 되구요
구조체를 요구하는 경우(STARTUPINFO, PROCSS_INFO)은 하나 변수선언하셔서 ZeroMemory로 초기화하셔서 넘겨주시고 되돌리는 HANDLE 잘 받으셔서 쓰시믄 되죵..

글구 파이프 연결은 어케 하드라.;;;
먼저 CreatePipe로 파이프 만드시고 STARTUPINFO에 붙여주시믄 되는걸로.

관련주소: http://bdn.borland.com/article/15201

I'm NOT your father...
I'll not fix your computer...

----
The future is here. It's just not widely distributed yet.
- William Gibson

cjh의 이미지

유닉스는 fork()를 해도 파일 디스크립터를 이어받기 때문에 부모-자식 프로세스간에
파이프를 만들거나 하기 쉽지만, Win32 API의 CreateProcess()는 그런 관계가 완전히
끊어지는 것으로 알고 있습니다. named pipe를 생성하여 사용할 수도 있겠지만
그럴바에는 그냥 스레드 프로그래밍을 하거나 nonblocking socket으로 작성하세요.
Win32환경에서는 스레드 프로그래밍이 더 자연스러운 편입니다.

--
익스펙토 페트로눔

--
익스펙토 페트로눔

따스한이야기의 이미지

고수님들의 답변 감사합니다

따스한이야기의 이미지

고수님들의 답변 감사합니다

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.