ps aux를 사용하는 프로세스 ID 0:00 여기서 18775는 프로세스의 PID 등을

저는 쉘 프로그래밍에 초보자입니다. 입력하면 터미널에서 프로그램 (예 : 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.