서블릿이라고하는 다른 데몬 화 된 Bash 스크립트를 실행하는 Bash 스크립트를 작성 중입니다.
내가 문의하는 기능은 getStatus
다음과 같습니다.
getStatus() {
servletToCheck="$@"
if [ "$(ps -aux | grep \"$(whoami)\" | grep \"${servletToCheck}\" | grep -v \"grep\" | wc -l)" -eq 0 ]; then
echo -n "Offline"
else
echo -n "Online"
fi
}
무엇을 해야 인수가 실행중인 사용자가 소유 한 프로세스 및 출력하면 일을해야하는 것은 확인하고 있습니다 Online
이 경우, Offline
그렇지.
이제이 기능은 완벽하게 작동하는 것 같습니다 . 문제는 내가 그것을 파싱 하는 방법에있는 것 같습니다 .
if [ "$(getStatus ${tbnServlet})" == "Online" ]; then
outSuccess "Started servlet: ${tbnServlet}"
exit 0
else
outWarning "Failed to start servlet: ${tbnServlet}"
exit 3
fi
이상하게도 서블릿이 실행 중일 때에도라고 말하고 Failed to start/stop servlet
서블릿을 나열하는 함수를 실행하면 그렇지 않은 경우에도 모두 오프라인으로 나열됩니다.
문제가 무엇이며 어떻게 해결할 수 있습니까?
이 기본 작업에는 코드가 너무 복잡합니다 ...
pgrep -u $USER "$tbnServlet" >/dev/null && echo "Started servlet: $tbnServlet" || echo "Failed to start servlet: $tbnServlet"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다