2014-03-27 5 views
0

특정 프로세스를 찾아서 스크립트에서 죽이고 싶습니다.쉘 스크립트에서 첫 번째 결과를 선택하는 방법

나는 ps -fu user | grep matching_string을 수행하고 있지만 예상 한 PID와 grep의 PID에 대해 두 줄을 반환합니다.

결과가 두 열이면 awk를 사용하여 첫 번째 열을 선택합니다. 그러나 행으로 반환 될 때 첫 번째 결과를 선택하는 방법을 모르겠습니다.

ps -fu user | grep matching_strin[g] 

이 방법은 grep 경기가 표시되지 않습니다를 :

답변

1

는이 트릭을 사용할 수 있습니다.

어떻게 작동합니까? (자세한 내용은 Find and kill a process in one line using bash and regex 참조). 즉 grep 자체를 포함하므로 ps -fu user | grep matching_string 함께

  • 그것은 grep matching_string를 갖는 모든 프로세스를 나열.
  • ps -fu user | grep matching_strin[g]을 수행하면 grepgrep으로 건너 뛰게하는 정규 표현식을 추가합니다. 왜? 프로세스 이름이 grep matching_strin[g]이고 글자 matching_string과 일치하지 않기 때문입니다.
+0

이것은 효과가 있습니다. 예를 들어 [j] ava를 썼는데 grep 명령이 표시되지 않았습니다. 나는 너를 받아 들일 것이다. 처음 읽었고 일했던 것처럼. 7 분 남았 어. –

+0

예! 원할 때마다 배치 할 수 있습니다. 요점은'grep'이 자신의 프로세스와 일치하지 않도록 정규식을 추가하는 것입니다. – fedorqui

관련 문제