리눅스 프로그램간 데이터 전송?

foryun의 이미지

안녕하세요 ~ 리눅스 초초보입니다.

일단 C 프로그램 2개가 동시에 구동이 되어야 합니다.

그리고 그 프로그램간 값(변수값, 혹은 string 데이터)을 교환 할 수 있는 방법을 알고 싶습니다.

예를 들면 hello1프로그램에서 저장하고 있는 string값을 hello2 프로그램에서 사용 할 수 있도록 하고 싶어요.

어떤 식으로 구현을 해야하는지 감이 잘 오지 않습니다.

제가 생각하고 있는 방법은 디바이스드라이버(?)를 구현하듯이 모듈을 띄워 놓고 데이터를 전송해야하나 고민중입니다. 드라이버 구현해 본 적이 없어 아직 구체적으로 알지는 못합니다.

가능하면 쉬운 방법으로 구현하고 싶어요~ 쉽고 구체적으로 알려 주시면 더 감사하겠습니당~

<요약>
질문1)프로그램 2개를 띄우는 방법?
질문2) 2개의 프로그램간 데이터를 교환하는 방법?

twinwings의 이미지

질문자가 물어보는 것은 유닉스 시절부터 이슈가 되었던 것으로

보통 Inter Process Communication(IPC)이라고 합니다. 한번 찾아보시구요.

간단한 해법은

1) 간단한 경우: TCP/UDP loopback socket OR Unix Domain socket OR Pipe와 같은 것
2) 타 프로세스 내부에 존재하는 함수를 호출해야된다면: dbus등의 Remote Procedure Call(RPC) 라이브러리 이용
3) DB 이용

shint의 이미지

http://kldp.org/node/153735

- kldp 검색
- kldp 위키
https://wiki.kldp.org/wiki.php
- 네이버
- 네이버 책
- 구글
- UNIX System Programming SVR 4
http://www.olc.kr/

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

jick의 이미지

최대한 간단한 걸 원하신다면 pipe/fork/exec 하시면 될 것 같은데요. 여기저기 설명이 있겠지만 특히 Stevens의 Advanced Programming in the Unix Environment 보시면 자세히 나와있습니다. (이 책은 한권 사서 첨부터 끝까지 읽어보시는 것을 강력히 추천합니다.)

백연구원의 이미지

프로그램 2개를 띄우는 방법?은 따로 기술할게 없을 것 같고
프로세스간 데이터 교환하는 방법 관련해서 검색어 두고 갑니다.

* shared memory
* shmget
* mmap


소곤소곤

댓글 달기

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