AIX proctree 명령에 해당하는 Linux는 지정된 PID에 대한 모든 하위 프로세스와 상위 프로세스를 표시합니다.

AIX proctree 명령에 해당하는 Linux는 지정된 PID에 대한 모든 하위 프로세스와 상위 프로세스를 표시합니다.

때로는 AIX에 상응하는 제품을 찾습니다.proctree주문하다 모든 아이들에게 보여줘그리고 모든 조상PID 값을 지정하면 문제 해결에 도움이 되는 경우가 있습니다. 예를 들어, 다음은 매뉴얼 페이지에서 발췌한 내용입니다.

To display the ancestors and children of process 12312,
including children of process 0, enter:

   proctree -a 12312

The output of this command might look like this:
1    /etc/init                                  
   4954    /usr/sbin/srcmstr                    
      7224    /usr/sbin/inetd                   
         5958    telnetd -a                     
            13212    -sh                        
               14724    ./proctree -a 13212

내가 가끔 사용하는 또 다른 유용한 형식은 proctree $$현재 터미널과 ssh를 통해 로그인했는지 아니면 콘솔을 통해 로그인했는지 여부도 표시하는 것입니다.

명확히 하자면, 나는 찾고 있는 것이 아니다스크립트이는 Linux에서 이를 에뮬레이트하지만 실제 동등한 기능이 이미 존재할 수도 있습니다.


Linux에서는 pstree지정된 PID의 모든 하위 프로세스가 표시되지만 루트는 항상 지정된 PID입니다(PID가 지정되지 않은 경우 init이고 전체 트리가 표시됨).

이와 같은 것도 ps --forest -u "$username"도움이 되지 않습니다. 왜냐하면 주어진 사용자에 대한 프로세스만 표시하고 주어진 트리에 대한 프로세스뿐만 아니라 모든 프로세스를 표시하기 때문입니다.

답변1

pstree -s 12312형식이 그다지 좋지 않더라도 원하는 것을 제공한다고 생각합니다 .

답변2

내 의견을 더 나은 형식의 답변으로 다시 게시합니다.

맙소사, 매뉴얼 페이지에서 뭔가를 완전히 놓친 것 같습니다. pstree -pas PID상위 프로세스도 표시되며, 트리 형식으로 프로세스의 PID를 포함합니다.

한 가지 예:

[doktor5000@Mageia5]─[20:06:48]─[~] pstree -pas $$
systemd,1
  └─konsole,9515                    
      └─bash,9517
          └─pstree,9595 -pas 9517
[doktor5000@Mageia5]─[20:06:49]─[~]

관련 정보