나는 다음과 같은 훌륭한 질문을 보았습니다.
그리고 성공하지 못한 채 내가 원하는 것을 얻으려고 노력했습니다.
나는 종종 maxima/lisp 프로세스를 보고 싶어하며 top/htop/etc를 실행하는 대신 "maxima.core"를 검색하고 해당 검색에서 반환된 pid를 top의 "-p" 플래그에 대한 입력으로 사용할 수 있다고 생각합니다. 둘 이상을 반환하면 별 문제가 되지 않습니다.
1.) PID를 알고 있으면 다음을 사용할 수 있습니다.
top -p 10815 -o S -d 0
2.) PID를 얻으려면 다음을 수행합니다.
ps -fu <user> | pgrep -f maxima.core
다음과 같은 목록이 출력됩니다.
10814
11989
하지만연결하려는 시도가 실패했습니다. 내 시도는 주로 다음과 같습니다.
<user>@<user> ~ $ top -o S -d 0 -p $(ps -fu <user> | pgrep -f maxima.core)
또한 이 결과를 병합해 보았습니다.일반적으로 둘 이상의 "n"으로 시작하는 위치 인수를 얻는 방법은 무엇입니까?
top -o S -d 0 -p "${(ps -fu <user> | pgrep -f maxima.core)[@]}"
하지만 대체성이 좋지 않다는 불만을 토로하고 있다.
나는 bash에 크게 의존합니다.
답변1
귀하의 버전이 ( ) 옵션을 pgrep
지원 하는 경우 이를 사용하여 쉼표로 구분된 PID 목록을 제공할 수 있습니다 .-d
--delimiter
top
top -o S -d 0 -p "$(pgrep -d, -u <user> -f maxima.core)"