저는 쉘 프로그래밍에 초보자입니다. 입력하면 터미널에서 프로그램 (예 : NetBeans)을 시작했다고 가정합니다.
ps aux|grep netbeans
나는 출력을 얻는다
pre 18775 1.2 0.0 12524 1972 pts/3 S 20:17 0:00
여기서 18775는 프로세스의 PID 등을 지정합니다.
그런 다음 사용하여 죽입니다.
kill 18775.
NetBeans UI가 사라집니다. 첫 번째 명령을 사용하여 pid를 얻으려고해도 여전히 얻을 수 있습니다.
pre 19137 0.0 0.0 9136 1068 pts/3 S+ 20:19 0:00 grep --color=auto netbeans
프로세스가 종료 된 경우 왜 여전히 위의 출력이 표시됩니까?
답변
grep 자체가 grepping하고 있습니다. 다음과 같은 것을 시도하십시오 :
ps aux |grep [n]etbeans
이것은 grep을 출력에 표시하지 못하게합니다.
답변
ps
와 함께 사용 하지 마십시오grep
.
오히려, 사용 killall netbeans
, pkill netbeans
그것을 죽일. 프로세스 ID의 경우 pgrep netbeans
.
ps 및 grep 에 대한 추가 정보 .
답변
그것은 grep 프로세스의 PID이기 때문에 이후에 실행되도록 대기합니다 ps aux
.