데몬프로세스 같은 거 죽일 때 프로세스아이디를 쳐야 하는데요. 힘들게 그렇게 하지말고, sh를 사용해서 해봅시다.
항상 올리고 내리는 데몬 프로그램이라면 스크립트로 제작해야합니다.
우선 ps -f를 쳐보니 2개의 데몬프로세스가 실행되고 있습니다. 이것을 프로세스명은 항상 동일하기 때문에 프로세스 명으로 죽여봅시다.
우선 ps -f를 이용하여 프로세스를 출력한 뒤 daemon과 another를 검색합니다. egrep는 grep의 확장명령어로 정규식을 지원합니다. 여러개의 프로세스를 죽이려면 저렇게 |를 이용하여 추가할 수 있습니다.
그다음 grep -v grep를 이용하여 현재 수행되고 있는 grep명령어는 빼줍니다. -v옵션은 해당 단어는 빼고 검색하라는 겁니다.
그다음 awk입니다. ps -f해서 다음과 같이 나오면 $1, $2 라고 쓰면 oracle, 27639를 가져옵니다. 스페이스공백이 분리자로 작용을 하게 되어서 프로세스 아이디를 얻을 수 있습니다.
oracle 27639 1 0 10:37 pts/4 00:00:00 fork_daemon
저것은 그냥 출력만 하는 것이기 때문에 파일에 저장해서 스크립트를 실행해줘야 합니다. tmp에 저장 후 sh를 이용하여 실행한 뒤 생성된 tmp파일은 rm으로 지워버립니다.
항상 올리고 내리는 데몬 프로그램이라면 스크립트로 제작해야합니다.
우선 ps -f를 쳐보니 2개의 데몬프로세스가 실행되고 있습니다. 이것을 프로세스명은 항상 동일하기 때문에 프로세스 명으로 죽여봅시다.
우선 ps -f를 이용하여 프로세스를 출력한 뒤 daemon과 another를 검색합니다. egrep는 grep의 확장명령어로 정규식을 지원합니다. 여러개의 프로세스를 죽이려면 저렇게 |를 이용하여 추가할 수 있습니다.
그다음 grep -v grep를 이용하여 현재 수행되고 있는 grep명령어는 빼줍니다. -v옵션은 해당 단어는 빼고 검색하라는 겁니다.
그다음 awk입니다. ps -f해서 다음과 같이 나오면 $1, $2 라고 쓰면 oracle, 27639를 가져옵니다. 스페이스공백이 분리자로 작용을 하게 되어서 프로세스 아이디를 얻을 수 있습니다.
oracle 27639 1 0 10:37 pts/4 00:00:00 fork_daemon
저것은 그냥 출력만 하는 것이기 때문에 파일에 저장해서 스크립트를 실행해줘야 합니다. tmp에 저장 후 sh를 이용하여 실행한 뒤 생성된 tmp파일은 rm으로 지워버립니다.