일반 USER 가 짠 프로그램으로도 시스템이 죽을 수 있나요?

yob의 이미지

일반 user 가 잘못 작성한 프로그램의 영향으로
시스템이 죽을 수도 있는지 궁금합니다

작성된 프로그램들은
소켓통신하는 프로세스 50 여개 정도
내부적인 프로세스들끼리의 통신은 Unix Socket 을 사용하고
60 여개정도의 프로세스들이 있습니다

몇일 전에 시스템이 죽었는데..
이상하게 시스템 영역을 너무 많이 잡아먹는다는 생각이 들어서요;;;;;

시스템 영역이 일반적으로 20%정도를 차지하고요~
많이 올라갈때는 40%정도까지 올라갑니다

USER 영역은 일반적으로 10%정도를 차지하고 많이 올라갈때는 15~40까지 올라갑니다

IsExist의 이미지

특별하게 제작되면 죽일 수도 있습니다.

---------
간디가 말한 우리를 파괴시키는 7가지 요소

첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스

이익추구를 위해서라면..

다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치

zelon의 이미지

충분히 죽을 수 있다고 생각합니다. 위에 말씀하신 대로 잘 짠다면 문제가 없겠지만...

실수든 고의든 무한 루프에 빠졌는데, 계속 new 등으로 시스템 자원을 쓴다면 문제가 있을 수 있습니다.

얼마전에 본 기사에서는 full load 의 CPU 를 테스트하는게 있더군요. 6일동안인가... 인텔 CPU 는 한번 리부팅되었다는 얘기를 들었는데... 여튼 죽일 소지는 충분히 있습니다 ^^;;

-----------------------------------------------------------------------
GPL 오픈소스 윈도우용 이미지 뷰어 ZViewer - http://zviewer.wimy.com
블로그 : http://blog.wimy.com

박영선의 이미지

$ cat > 1.pl
while(1) { system "perl 1.pl"; }
^D
$ perl 1.pl

한번 해보세요.

원격으로 연결하셨다면 몇초안에 연결 끊기고 시스템관리자한테 연락올겁니다.

^^;;

익명 사용자의 이미지

reboot되는 경우는 H/W결함 외에는 경험해보지 못했구요.
사용자 프로세스가 아주 많이 생겼을 경우에는 vfork() 또는 fork() 에러가
나면서 신규 프로세스를 생성할 수 없기 때문에 down 과도 같은 현상이
발생합니다. 이런경우는 사용자별 max 프로세스 갯수를 조절하여 오류를
특정 사용자로 국한 시킬 필요가 있습니다.

Hyun의 이미지

만약 사용자가 system을 죽인다면 그건 OS버그가 아닌가요?

befoed의 이미지

시스템을 죽이는 몇가지 코드를 가지고 있긴 하지만 ,
이는 커널 패치로 수정이 되는 것을 보면 저도 OS버그란 생각이 드네요.
new 나 fork등을 이용하여 시스템 자원을 무한 루프로 얻어 오게 된다면 , 시스템이 느려지지 시스템이 죽는 경우는 없는 것으로 알고 있습니다. 그리고 할당할 자원이 없다면 해당 라이브러리 Call시에 Fail을 Return하는 것으로 경험하고 있는데요..

특정한 코드를 집어 넣지 않았다면 , 프로그램에서 OS를 죽일수 있는건 힘들다고 생각 합니다. 참 드라이버단의 프로그램을 짜신다면 충분히 죽일 수 있는 가능성은 있습니다. ^^

싸인문구;;남들은 멋있게 쓰던데..난 멀해야 할까..

익명 사용자의 이미지

여러 답변 감사합니다

일단 하드웨적으로든 소프트웨어적으로든 문제가 생길 소지가
있다는 것은 확실한 것 같군요

소프트웨어 점검 과 하드웨어 점검을 동시에 들어가야될 것 같네요
참.. 제일 난감한 경우군요;;;;;

댓글 달기

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