쉘 스크립트에서 top 결과

yob의 이미지

#!/bin/sh

안녕하세요~

간단한 스크립트를 만드는 도중 잘안되는 부분이 있어서
질문드립니다

스크립트 내용은 특정CPU율을 입력받아서 그 CPU율 보다
클 경우 톰캣을 종료하는 건데요..

CPU 율에 대한 체크는 top 결과 값을 가지고 하고 있습니다
ps 명령으로도 해봤는데 CPU 율을 검색하면 TOP 하고 많이
차이가 나서 ps 명령으로 판별이 안되네요

(톰캣이 top 에서 특정 CPU율 24.X % 가 되면 동작을
안하는 현상이 일어나서 일단은 조치될 때까지만 임시로
사용할려는 겁니다 ^^;;;;;;;; )

문제는 foreground 에서 하면 잘되는데
background 에서 하면 스크립트가 2개가 뜨면서
결과 자체도 안나온다는 겁니다 ㅠㅠ

아래는 스크립트 내용입니다


max_count=15
cpu_count=0
cpu_count2=0

if [ "$1" = "" ]; then
    echo "usage: ./webcheck [cpu_rate]"
    exit 1
fi

while [ 1 ]; do

    if [ $cpu_count -eq $max_count ]; then
        echo "MAX COUNT OVER [MAX:$cpu_count]"
        echo "TOMCAT KILL"
        cpu_count=0
        #./webstart
    fi

    cpu_rate=$(top -n 1 | grep java | grep root | awk '{ printf $9 }')

    if [ "$cpu_rate" = "" ]; then
        echo -n "CPU RATE:[NONE] : "
        cpu_count=0
        echo "CPU UNDER COUNT:[$cpu_count]"
    else
        if [ $cpu_rate > $1 ]; then
            echo -n "CPU RATE:[$cpu_rate] : "
            cpu_count=`expr $cpu_count + 1`
            echo "CPU OVER COUNT:[$cpu_count]"
        else
            echo -n "CPU RATE:[$cpu_rate] : "
            echo "CPU UNDER COUNT:[$cpu_count]"
            cpu_count=0
        fi
    fi

    sleep 1
done

yob의 이미지

자문 자답이군요

위처럼 했을 경우

$ nohup test.sh 24 &
[1] 6274

$ nohup: appending output to `nohup.out'
[1]+  Stopped                 nohup test.sh 24

이런 형태로 쉘 스크립트가 자동종료됐었는데..

screen -d -m nohup test.sh 24

스크린을 써서 이런형태로 하니깐 잘 되네요

kldp 게시판을 끈질기게 뒤지니깐 결국 나오는군요 ^^;; 하..

mach의 이미지

yob wrote:

cpu_rate=$(top -n 1 | grep java | grep root | awk '{ printf $9 }')

tomcat을 판별하는 방식으로 pidfile을 쓰시는것이 좋지 않은지?
그냥 해본 소립니다.

top -p <pid> -n 1 어쩌구....

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

댓글 달기

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