여러 라이브러리로 구성된 프로그램의 동시실행 방법

kakalot81의 이미지

제목이 좀 애매한데요.

리눅스의 경우 특정 라이브러리를 사용할 때 실행방법이 조금씩 달라 여러 라이브러리를 사용할 시에 도무지 어떻게 프로그램을 돌려야 할 지 감이 안잡힙니다. 제가 리눅스를 접한 지 얼마 안되었고, 소켓 프로그래밍도 처음이라 많이 버벅대고 있네요.

본인의 예시)
mpich(병렬 라이브러리) 실행
mpirun -np 3 excutefile --options..

socket(네트워크) 클라이언트 실행
./client hostname && ./server
이 두 라이브러리의 실행을 한번에 할 수 있는 방법...

본격 질문)
1. 소켓 프로그래밍과 병렬(mpi)프로그래밍을 병행해서 할려고 하는데요, 우선 가능한지 궁금합니다.
2. 소켓 프로그래밍은 서버와 클라이언트를 독립적으로 실행하는 방법 말고, 한 코드로 구성된 프로그램으로는 불가능한가요?
3. 여러 라이브러리로 구성된 프로그램 실행의 경우 예를들면 실행명령을 스크립트화 해서 동시실행이 가능할까요?

약간이라도 좋으니 답변 부탁드릴께요...

powerson의 이미지

1. 네 가능합니다. 어차피 같은 C로 짜신다면, 문제될 게 없지요.
2. 네 가능합니다. fork()를 사용하시면 됩니다.
3. 동시실행이 어떤 걸 의미하시나요? 병렬처리를 말씀하시는 건가요? 질문이 애매모호하시네요..

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

kakalot81의 이미지

3. 제가 무지해서 이런 질문을 하는 지 몰라도, 두 라이브러리(mpich, socket)를 사용한 프로그램의 실행방법이 명시적으로 서로 다른데 이를 한번에 실행시킬 수 있는 방법이 있는지 궁금합니다.

예를들어 쉡 스크립트(용어가 확실한지 모르겠음)를 이용해 run이라는 실행파일을 만들고
첫번째 라인 -- mpirun -np3 실행파일....
두번째 라인 -- 실행파일 hostname..

# sh run
이런 식으로 프로그램을 한번에 실행시킬 수 있을런지요?

powerson의 이미지


네 가능합니다. 웹에서 bash 프로그래밍 혹은 shell 프로그래밍 등으로 검색해보시면, 자세한 정보들이 나오니 내용은 참고하시면 될 거 같습니다.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

kakalot81의 이미지

2. fork()를 사용해 구체적으로 어떻게 서버/클라이언트 병합 프로그래밍하면 될까요?

fork()는 단지 해당 노드의 자식 프로세서를 생성해주는 기능으로 알고 있습니다만...

serialx의 이미지

man bash
/background[enter]

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.