>
tail 경우 다음 명령이 출력을 생성하지 않으면 기쁠 것입니다  실행 중이 아닙니다 :

ps --no-headers $(pidof tail)

대신 얻는다 :

 964 pts/2    00:00:01 bash
 4393 pts/2    00:00:00 ps

  • 답변 # 1

    귀하의 버전이 ps 인 경우   -C 를 지원합니다  옵션 :

    ps --no-headers -C tail
    
    

    그렇지 않으면 ps 를 실행할 수 있습니다   pidof 인 경우에만  성공합니다 :

    pid=$(pidof tail) && ps --no-headers ${pid}
    
    

    또는 (Zsh의 경우) :

    pid=$(pidof tail) && ps --no-headers $=pid
    
    

    (Gills에게 감사합니다!).

  • 답변 # 2

    pidof  그리고 pgrep  시스템에서 무엇이 실행되고 있는지를 결정하는 좋은 명령이지만 불행히도 일부 운영 체제에서는 두 가지를 모두 사용할 수 없습니다. 이것은 대부분의 유닉스, BSD 및 리눅스에서 작동합니다 :

    ps aux | grep tail | grep -v grep
    
    
    grep 명령 자체를 제거하는

  • 답변 # 3

    pgrep 와 함께 , 프로세스가 일치하지 않는 빈 입력으로 PID와 명령을 나열 할 수 있습니다.

    pgrep -a tail
    
    

    표시되는 필드를보다 세밀하게 제어하려면 pidof 로 전화하십시오.  또는 pgrep 그런 다음 ps 에게 전화하십시오.  프로세스 목록이 비어 있지 않은 경우에만. 임시 변수를 사용할 수 있습니다 :

    pids=$(pgrep -d, tail)
    [ -z "$pids" ] || ps --no-headers -p "$pids"
    
    

    또는 ifne  moreutils에서 :

    pgrep tail | ifne xargs ps --no-headers
    
    

  • 이전 bash - txt 파일의 줄에서 현재 날짜와 날짜를 비교하는 방법은 무엇입니까?
  • 다음 한 하위 도메인에서 다른 하위 도메인으로 Linux DNS 서버를 가리키는