grep을 사용하지 않고 이름으로 프로세스를 검색하려면 어떻게합니까?


62

위해 사용할 수있는 프로세스를 검색하기 psgrep.

예를 들어 firefox를 검색하려면

ps aux | grep firefox

사용하지 않고 같은 대답을 얻는 방법 grep?


1
ps/grep솔루션이 잘 작동 한다는 것을 감안할 때 왜 이것을하고 싶 습니까?
neuronet

OP는 추측 할 수있는 짧은 명령을 원합니다. 그런 것이 있다면 ps -n <process name>그의 필요에 대답 할 것입니다. ps -n firefox보다 약간 짧습니다 ps | grep firefox. ps이미 pid사용자 ID를 필터링 하거나 처리 할 수 있으므로 프로세스 이름을 필터링하는 것이 합리적입니다.
Jochem Schulenklopper

답변:


71

pgrep명령, 그 형제는 pkill,이 목적을 위해 정확하게 존재한다 :

  • pgrep firefox 명령이 일치하는 모든 프로세스를 나열합니다. firefox
  • pgrep -f firefox 전체 명령 행이 일치하는 모든 프로세스를 나열합니다. firefox
  • pgrep -x firefox 명령이 정확히 일치하는 모든 프로세스를 나열합니다. firefox
  • ... 등등.

그리고 당연히 pgrep경기에서 제외되기 때문에 grep관련된 의식 ps | grep은 필요하지 않습니다.


이를위한 다른 도구 세트는 pidofkillall명령입니다. 이들은만큼 유연하지 않습니다 pgreppkill.

  • pidof firefox 명령이있는 프로세스를 나열합니다. firefox

24
ps -fC process-name

예:

ps -fC firefox

...에서 man ps

  -C cmdlist      Select by command name.
                       This selects the processes whose executable name is
                       given in cmdlist.


 -f              Do full-format listing. This option can be combined
                       with many other UNIX-style options to add additional
                       columns. It also causes the command arguments to be
                       printed. When used with -L, the NLWP (number of
                       threads) and LWP (thread ID) columns will be added. See
                       the c option, the format keyword args, and the format
                       keyword comm.

이것이 가장 좋은 대답이지만 불행히도 OSX에서는 작동하지 않습니다. BSD ps -C플래그는 완전히 다르게 동작합니다- "CPU 백분율 계산 방식 변경"
mastaBlasta

2

top대문자를 눌렀을 때 문자열을 검색 할 수 있습니다 L. 프로세스가 강조 표시되고 위 / 아래 화살표 키를 사용하여 프로세스 목록을 스크롤합니다. 마찬가지로 htopcommand를 누르면 특정 프로세스를 강조 표시 할 수 있습니다 /. 그리고 \이름에 특정 문자열로 모든 프로세스를 필터링합니다.

awk를 좋아하는 사람들을 위해 awk oneliner가 ps -eF | awk '/process-name/ {print $11}' 있습니다. 로 ps -eF프로세스 이름 11 컬럼에 항상이다. 또는 ps -eF | awk '{print $11}' | sort알파벳순으로 정렬 된 프로세스 이름의 정렬 된 목록을 얻습니다. less긴 파일 목록을 더 쉽게 보려면 명령 으로 파이프하십시오 .


2

멋진 트릭

$ps -ejH

당신은 이름을 가진 모든 프로세스를 얻을 것입니다

exmple:
1747   568   568 ?        00:00:00   colord
1833  1832  1832 ?        00:00:00   gnome-keyring-d
2263   568   568 ?        00:00:00   udisksd
2311  2311  2311 ?        00:00:00   cupsd
2315  2315  2311 ?        00:00:00     dbus

출력을 파일로 리디렉션하거나 복사 한 다음를 열고 +를 nano누르면 원하는 이름을 검색 할 수 있습니다.CtrlW


1

htopF4를 사용한 다음 일치하는 사용자 정의 문자열로 결과를 필터링 할 수도 있습니다 . F3을 눌러 사용자 정의 검색 기능을 사용할 수도 있습니다.


1

두 프로세스가 문제가되면 grep 사용할 수 있습니다 .

grep firefox /proc/*/cmdline

0

방금 Lennart Poettering 블로그에서이 ps 별칭을 읽었습니다. 출력은 시스템 제어 그룹 육아에 따릅니다.

alias psc='ps xawf -eo pid,user,cgroup,args'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.