특정 프로세스를 검색하고 해당 프로세스를 종료해야합니다. 다음과 같은 명령을 작성했습니다.
ps -e | grep dmn | awk '{print $1}' | kill
프로세스 이름은 dmn
. 그러나 작동하지 않습니다. 이름과 프로세스를 어떻게 찾을 수 있습니까 kill
?
특정 프로세스를 검색하고 해당 프로세스를 종료해야합니다. 다음과 같은 명령을 작성했습니다.
ps -e | grep dmn | awk '{print $1}' | kill
프로세스 이름은 dmn
. 그러나 작동하지 않습니다. 이름과 프로세스를 어떻게 찾을 수 있습니까 kill
?
답변:
kill $(ps -e | grep dmn | awk '{print $1}')
kill $(ps -efw | grep dmn | grep -v grep | awk '{print $2}')
해야했습니다. 왜 그런지 잘 모르겠고 충분히 신경 쓰지 마십시오.
kill
패턴을 찾으려고하는 'grep'프로세스도 죽이려고 했기 때문 입니다
\n
에서처럼 awk마다 필요하지 awk '{print $1"\n"}'
않습니까?
제거하려는 프로세스가 여러 개인 경우 다음을 사용할 수 있습니다.
ps -efw | grep dmn | grep -v grep | awk '{print $2}' | xargs kill
참고 : 출력에서 grep 프로세스 자체를 제거해야하므로 grep -v grep
사용됩니다.
명령이 있고 이미지 이름을 알고 pipe
있다면이 작업이 필요하지 않을 수도 있습니다 pidof
.
kill $(pidof synergyc)
$()
본질적으로 파이프처럼 사용할 수있는 변수로 출력을 변환하므로 이것을 이해합니다. 다른 옵션보다 짧고 이해하기 쉽지만 유연성이 떨어지고 직접적 일 수도 있습니다.
$()
구문을 사용하십시오kill $(ps -e | grep dmn | awk '{print $1}')
..