텍스트파일안에 있는 문자열을 저장하고 싶어요.

zosowo의 이미지

<첫번째 질문>

리눅스 /proc/[PID]/stat 텍스트파일 내에는

1 (init) S 0 1 1 0 -1 4194560 1597 347511 89 1336 0 428 7109 3736 20 0 1 0 5 2056192 134
4294967295 134512640 134636520 3218157984 3218157132 1115158 0 0 4096 671835171 0 0 0 0 0 0 0 461 0 0

이런식으로 숫자가 적혀있습니다. 위 파일은 init 프로세스의 정보이고, 리눅스 /proc/1/stat 안의 내용입니다.
stat 파일안에 있는 저 내용들은 공백 " " 을 기준으로 구분되어있습니다.
공백을 기준으로 각각을 저장해서 원하는부분을 출력하고 싶습니다.
어찌해야할까요?

-------------------------------------------------------------

<두번째 질문>

리눅스에 /proc이라는 디렉토리 안에는 숫자로된 디렉토리가 굉장히 많습니다.
숫자로된 디렉토리는 현재시스템에서 수행되고 있는 프로세스의 디렉토리입니다.
디렉토리명은 PID이며, 이 디렉토리의 개수는 가변적입니다.
또 디렉토리 안에는 stat 이라는 파일이 모두 있습니다.

만약 50개의 프로세스가 수행되고 있다면, 50개의 디렉토리가 있구요. 30개의 프로세스가 수행중이라면 30개의 디렉토리가 있겠지요?
이처럼 프로세스의 개수는 정해지지 않았고, 각 디렉토리 안에는 stat 이라는 파일이 모두 있습니다.
이 stat 이라는 파일안에는 첫번째 질문에서 언급했듯이 프로세스 상태정보가 공백을 기준으로 적혀있습니다.

저는 이 많은 디렉토리 안에 있는 stat을 모두 읽어서, 보기좋게 정렬해서 출력해보려고 합니다.
그런데 stat 이 들어있는 프로세스 디렉토리는 개수가 가변적이라, 배열로 선언하게 되면 메모리를 많이 낭비하게 될듯합니다.
자칫 메모리가 부족할수도 있을것 같구요.
그래서 생각한게 링크드리스트인데, 구조체를 이용하는것 같더라구요.
그런데 아무리 읽어도 이해가 가질않네요.
그 많은 디렉토리 내부의 stat을 읽어서 저장한후에, 원하는 부분을 딱딱 집어서 출력하려면
대체 어떻게 저장을 해야할까요?ㅠㅠㅠㅠ
답변 부탁드립니다.

좋은 주말보내세요!

nthroot의 이미지

sscanf(line, "%d %d %d %d..........", &a, &b, &c.....);

or

regex.h

두번째 질문은 ... 이해를 하는 수 밖엔..-_-;

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.

댓글 달기

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