ps aux를 사용하는 프로세스 ID


9

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

프로세스가 종료 된 경우 왜 여전히 위의 출력이 표시됩니까?


1
그것은 당신에게 netbeans 프로세스를 보여주지 않습니다-그것은 ps aux가 파이프되는 grep 프로세스를 보여줍니다! 그 과정이기 때문에 grep netbeans, 그건 당신이 행의 끝에서 볼 수있는 프로그램입니다 ( grep --color=auto netbeans)
— 데이비드 Puglielli

답변:


16

grep 자체가 grepping하고 있습니다. 다음과 같은 것을 시도하십시오 :

ps aux |grep [n]etbeans

이것은 grep을 출력에 표시하지 못하게합니다.


2
이것은 작동하지만 그리 좋지는 않습니다. 당신은 또한 할 수 있습니다 ps aux | grep netbeans | grep -v grep. 그러나 대신 pgrep을 사용하십시오.
— Martin Ueding

1
@queueoverflow pgrep는 좋지만 프로세스 이름과 만 일치합니다. 첫 번째 패턴은의 모든 열과 일치 할 수 있습니다 ps. (예를 들어, 파이썬이나 자바에서 실행되는 무언가, pgrep는 올바른 것을 pkill
— 움켜 쥐지

5

ps와 함께 사용 하지 마십시오grep .

오히려, 사용 killall netbeans, pkill netbeans그것을 죽일. 프로세스 ID의 경우 pgrep netbeans.

ps 및 grep 에 대한 추가 정보 .


5
그것은 내가 들어 본 것 중 가장 쓸모없는 조언입니다. 사람들이 grep 프로세스가 ps의 출력 ( "grep"으로 시작)에서 어떻게 보일지 알면이 둘을 함께 사용할 때 아무런 위험이 없습니다. 스크립트에서 킬을 사용하지 않는 것에 대한 조언을 이해하지만 요점은 아닙니다.
— ovangle

3
그리고 나는 pgrep이 '(kill $ (pgrep vi *)'또는 놀랍도록 안전하지 않은 무언가를 요구하기 때문에 더 나쁘다고 생각합니다.
— ovangle

1
이것은,이 페이지에서 가장 쓸모없는 대답으로 pgrep, pkill등 만 일치하는 프로세스 이름에 - 아무것도 해석되고 (자바, 파이썬, 배쉬 등)만을 사용하여 동일한 프로세스 이름으로 다른 사람과 구별 할 수있다 ps.
— 이즈 카타

3
@Izkata-pgrep 및 pkill에 -f를 사용하면 전체 명령 줄과 일치합니다. 당신이 언급 한대로 통역사에서 실행되는 물건을 일치 시키려고 할 때 때로는 유용합니다. 커맨드 라인의 어느 곳에서나 패턴을 참조하는 모든 것을 행복하게 죽일 수 있기 때문에 발로 자신을 쏠 수있는 좋은 방법이기도합니다 :)
— roadmr

4

그것은 grep 프로세스의 PID이기 때문에 이후에 실행되도록 대기합니다 ps aux.


@ ovangle- 깜박임 나는 그것을 생각하지 못했습니다! : D 감사합니다!
— P Ramesh

1
사실, grep되어 이미 실행중인 경우 ps aux실행됩니다. 마찬가지로 ps aux실행의 출력은 실행에 보내는 grep입력으로 인스턴스. 쉘이 grep아직 실행 되지 않았다면의 출력에 나타나지 않을 것입니다 ps.
— Eliah Kagan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.