Linux / Bash, ps -o를 사용하여 특정 이름으로 프로세스를 얻습니까?
ps -o 명령을 사용하여 특정 이름과 일치하는 프로세스에 대한 특정 정보를 얻으려고합니다. 그러나 나는 이것에 대해 몇 가지 문제가 있습니다. 모든 프로세스를 얻기 위해 이것을 사용하려고 할 때, 정상 ps -ef
이 반환 하는 것의 하위 집합을 반환합니다 (거의 동일한 수의 결과를 반환하지 않으므로 실행중인 모든 프로세스를 반환하지 않음)
ps -ef -o pid,time,comm
나는 이와 같은 것을 시도하고 싶지만 (아래) ps -o를 통합하여 특정 정보를 얻습니다 (PID 만).
ps -ef |grep `whoami`| grep firefox-bin
이 작업을 올바르게 수행하는 방법에 대한 조언을 주시면 감사하겠습니다.
이것은 이름으로 프로세스의 PID를 얻을 것입니다.
pidof name
그런 다음 자세한 내용을 보려면 ps에 다시 연결할 수 있습니다.
ps -p $(pidof name)
이것은 약간 오래되었지만 원하는 것은 ps -o pid -C PROCESS_NAME입니다. 예를 들면 다음과 같습니다.
ps -o pid -C bash
편집 : 기대하는 출력의 종류에 pgrep
따라 더 우아해질 것입니다. 내가 아는 한 이것은 Linux 전용이며 위와 유사한 결과를 초래합니다. 예를 들면 :
pgrep bash
ps -fC PROCESSNAME
ps와 grep은 위험한 조합입니다. grep은 각 줄의 모든 항목을 일치 시키려고합니다 (따라서 너무 일반적입니다 : grep -v grep hack). ps -C는 grep을 사용하지 않고 정확히 일치하는 프로세스 테이블을 사용합니다. 따라서 다음과 같이 정확한 목록을 얻을 수 있습니다. ps -fC sh 대신 sh가있는 모든 프로세스를 줄 어딘가에 찾습니다.
때로는 이름으로 프로세스를 grep해야 할 때가 있습니다.
ps aux | grep simple-scan
출력 예 :
simple-scan 1090 0.0 0.1 4248 1432 ? S Jun11 0:00
죄송합니다. 파티에 훨씬 늦었지만 여기에 추가하겠습니다. 검색 문자열과 동일한 이름의 프로세스를 캡처하려면 다음을 수행 할 수 있습니다.
pgrep -x PROCESS_NAME
-x Require an exact match of the process name, or argument list if -f is given. The default is to match any substring.
이것은 원래 프로세스가 자신의 이름에 원래 프로세스의 이름을 접두사로 붙이는 하위 프로세스 (쿼리 할 때 좀비가 될 수 있음)를 생성하고 결과에서이를 제외하려는 경우 매우 유용합니다. 이를 수행하는 많은 UNIX 데몬이 있습니다. 내 이동 예제는 ninja-dev-sync 입니다.
참조 URL : https://stackoverflow.com/questions/3790895/linux-bash-using-ps-o-to-get-process-by-specific-name
'Programing' 카테고리의 다른 글
파이썬의 비동기 프로그래밍 (0) | 2020.12.15 |
---|---|
IntelliJ 및 Git 분기 이름 (0) | 2020.12.15 |
문자열 리소스에 변수를 넣는 방법은 무엇입니까? (0) | 2020.12.15 |
Ruby on Rails에 해시가있는 경우 무관심하게 액세스 할 수있는 방법이 있습니까? (0) | 2020.12.15 |
Vim에서 HTML 태그 탐색 (0) | 2020.12.15 |