[Shell Program 질문]

익명 사용자의 이미지

[Shell Program 질문]

고수님들의 답변 바랍니다.

현재 특정 Daemon이 실행중인지 Check하여.. 실행되고 있지 않으면.. 실
행시켜주는 Shell Script를 만들고 있습니다.
Shell Script실행시... Argument로 Daemon명을 줍니다.
근데.. 이상한건... 실행된게 없는데도... 2개가 실행중이라고 나오는군
요..
왜그럴까요..
아래는... 허접하지만... 실행시킨결과와.... Source입니다.

###############################################################

///// Source(yss.sh)

#!/bin/sh
echo $(ps -ef | grep $1 | grep -v grep | wc -l)

///// 실행결과.

/// 떠있지 않음..
[root@IJS bin]# ps -ef | grep sshd
root 24094 20380 0 1726 pts/4 000000 grep sshd

[root@IJS bin]#
[root@IJS bin]# ./yss.sh sshd
2
[root@IJS bin]#

###############################################################
빠른 답변 기다리겠씁니다.

익명 사용자의 이미지

확실한 건 아니지만...

grep ssh라는 것까지 검색되는 것이 문제라고 생각됩니다.

그러니 grep이란 단어가 없는 줄만 세면 되지 않을까여

grep -v grep

grep이란 단어가 없는 것만 검색하는 것이져..

좋은 결과 있으시길

dalgalim wrote..
[Shell Program 질문]

고수님들의 답변 바랍니다.

현재 특정 Daemon이 실행중인지 Check하여.. 실행되고 있지 않으면.. 실
행시켜주는 Shell Script를 만들고 있습니다.
Shell Script실행시... Argument로 Daemon명을 줍니다.
근데.. 이상한건... 실행된게 없는데도... 2개가 실행중이라고 나오는군
요..
왜그럴까요..
아래는... 허접하지만... 실행시킨결과와.... Source입니다.

###############################################################

///// Source(yss.sh)

#!/bin/sh
echo $(ps -ef | grep $1 | grep -v grep | wc -l)


///// 실행결과.

/// 떠있지 않음..
[root@IJS bin]# ps -ef | grep sshd
root 24094 20380 0 1726 pts/4 000000 grep sshd

[root@IJS bin]#
[root@IJS bin]# ./yss.sh sshd
2
[root@IJS bin]#

###############################################################
빠른 답변 기다리겠씁니다.

익명 사용자의 이미지

#!/bin/sh
echo $(ps -ef | grep $1 | grep -v grep | grep -v $0 | wc -l)

이렇게 하시면 원하시는 비스무레한 것이..