popen으로 mount실행시 좀비로 남는 문제가..

lee3390의 이미지

제 프로그램 중 NAS와 mount가 잘 되었는지 확인을 하고 mount가 안되었을 경우

popen을 사용하여 mount를 해주는 부분이 있습니다. 이것은 계속 루프를 돌면서 체크하고요

근데 이것이 NAS와 연결이 안되어 있는 상태에서 실행을 하게되면

NAS와 mount가 안되어 있으니 mount시도를 하고 mount가 안되면 종료가 잘 되면 좋은데..

popen으로 생성된 프로세스가 좀비 상태로 남아 버립니다...

계속 좀비가 생겨 결국 시스템 다운 상태까지 갑니다...

popen으로 mount실패 하였을 경우 좀비 안나오게 하는 방법이 있는지..

아니면 C api중 nas mount해주는 함수가 있는지.. 알고 싶습니다.

sprintf(strCmd, "%s -F nfs %s:%s %s 2>&1", SYS_MOUNT_CMD, strIp, strSpecial, strMountPos);
if((pFp = popen(strCmd, "r")) == NULL) {
    cprintf("[ENGINE|INF] NfsMount popen fail(%s)", strerror(errno));
    return;
}

blueskya의 이미지

닫아주세요~~ ^^a

자동으로닫힌다면 패스 ㅡㅡ;;
----------------------------------------------------------------------
인생 뭐있어? 백수로 사는거야~ 가는거야~

----------------------------------------------------------------------
인생 뭐있어? 백수로 사는거야~ 가는거야~

lee3390의 이미지

pclose(pFp);
이것도 같이 있습니다. ^^;

bushi의 이미지

2>&1 에 의해 SYS_MOUNT_CMD 의 stderr 출력도 stdout 으로 redirect 되므로, popen() 이 성공을 했다면 출력된 문자열을 읽어서 성공인지 실패인지 판단하는 부분이 있어야 될 것 같은데 안뵈네요 ?

SYS_MOUNT_CMD 가 뭔진모르겠지만 mount() 로 적당히 집적거릴 수 없는 놈인가요 ?

lee3390의 이미지

그냥 /bin/mount 를 define해논 것입니다.
테스트로 쉘상에서 mount -F nfs 192.158.30.1:/home /tt 2>&1 이 명령을 해보니까..
그냥 그냥 그대로 멈춰버리네요;;; timeout같은 것은 없나봐요.. 이걸 어찌 처리를 해야할지..

cmoh1110의 이미지

man 2 mount 를 해보니 nfs 도 지원하는 듯 하네요.
테스트는 안해봐서 잘 될지는 모르겠습니다.
---------------------

댓글 달기

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