cgi에서 파일을 검색하다가 발생하는 문제를 어떻게 해결해야 할까요?

dltkddyd의 이미지

웹서버의 가상루트디렉토리의 파일의 내용에서 검색어에 해당하는 위치로 링크를 걸어주는 프로그램을 만들고 있습니다. 일종의 파일검색엔진을 cgi에서 구현하고 있습니다. 그 검색과정은 다음과 같습니다.

1. 가상루트리덱토리의 a.html 파일에서는 form을 통해 검색어, 검색대상 파일들의 경로를 cgi의 b.php로 넘깁니다.
2. cgi의 b.php 파일은 넘겨받은 path의 파일을 조사하고 해당 파일에서 검색어를 검색합니다. 검색어가 있으면 가상 루트디렉토리의 c.php파일로 링크를 걸어주는데, 검색된 파일이름과 그 파일안에서 검색어의 위치 정보를 url 방식으로 c.php 파일에 넘깁니다.
3. 해당 링크를 클릭하면 c.php 파일이 검색대상 파일을 열고 표시하되, 검색어에 해당하는 위치에 일정한 표식을 합니다.

문제는 2의 cgi 프로그램에서 문제가 발생합니다. 이 프로그램은 b.php를 통해 popen이라는 명령으로 파이프상에 연결되어 있습니다. 검색하는 일은 파이프로 연결된 이 프로그램이 합니다. 그리고 c++로 구현된 이 프로그램은 검색을 하면서도 검색결과를 계속 출력하도록 했습니다. 그 출력결과는 a href 형태의 링크 정보입니다. 그런데 실행중에 이 링크를 클릭했을 때 gnome-shell의 cpu 점유율이 계속 100%이상을 차지합니다. 그래서 gnome-shell 아이디를 알아내서 프로세스를 kill 명령으로 죽였더니 바탕화면이 검은색으로 나타나고 각 윈도우 창의 메뉴모음도 사라졌습니다.
질문드릴 내용은 다음과 같습니다.

1. 검색결과가 출력되는 중에 링크를 클릭했을 때 점유율이 높아지지 않도록 하는 방법이 없을까요?
2. gnome-shell의 높아진 점유율을 낮출 방법은 없는지요?
3. 그리고 무엇이 문제라서 이런 문제가 발생하는 것인지요?
4. 마지막으로 검색 프로그램 이름은 mdir인데, 이런 프로세스는 보이지 않는다는 것입니다. 그 이유는 뭔가요?

댓글 달기

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