要了解程序,需要使用哪个命令,该程序还初始化了哪些程序?

要了解程序,需要使用哪个命令,该程序还初始化了哪些程序?

是的 - 这涉及到终端中哪些命令可行的问题,为了找出哪些程序被初始化(可见和不可见) - 由程序 1 初始化。(例如 - 当我只想知道哪些程序仅由程序 1 运行,名称为“crash-handler”?)我不是这个意思:

步骤1:

top

然后是第 2 步:

sudo kill -9 PID 'number-of-process'

我的意思是列出由 program1 运行的所有程序(甚至隐藏进程...)。这个问题将获得赏金!(因为雷雨,我失忆了,想早点提出这个问题 - 这样就可以防止所谓的“炮弹冲击漏洞”和其他新闻的愚蠢“骗局”......)。

这里有多少可能的命令?!(- 不仅仅是 htop 和 top 和 pstree...)- 谢谢!

答案1

尝试 htop:

sudo apt-get install htop
htop

它有一个树视图(F5)并且可以显示所有用户和内核线程(shift+H 和 shift+K)。

答案2

如果我正确理解了您的问题,您需要各种可以列出给定进程的子进程的方法。据我所知,这些是:

  1. top. 启动top然后按V. 来自man top

     ´V' :Forest-View-Mode toggle
          In  this  mode,  processes are reordered according to their
          parents and the layout of the COMMAND column resembles that
          of  a  tree.   In  forest view mode it is still possible to
          toggle between program name and commamd line (see  the  'c'
          interactive  command) or between processes and threads (see
          the 'H' interactive command).
    
  2. htop。这通常不是默认安装的,因此请使用 安装sudo apt-get install htop。然后按F5t。来自man htop

    F5, t
        Tree view: organize processes by parenthood, and layout the  rela‐
        tions between them as a tree. Toggling the key will switch between
        tree and your previously selected sort view. Selecting a sort view
        will exit tree view.
    
  3. pstree。这个简单的命令就是为此而设计的,它将正在运行的进程显示为一棵树。

  4. ps本身也可以做到这一点。例如:

    $ ps -ejH
    $ ps axjf
    

    这里的重要选项是-H树格式和/或-f完整格式。

  5. /proc如果您愿意,您也可以从文件系统获取所有这些信息。PIDX 的子进程列在 中/proc/PIDX/task/PIDX/children。因此,您可以使用以下命令显示所有正在运行的进程树

    ps ax | awk '{print $1}' | while read pid; do 
        printf "%s\n" $pid; 
        grep -o "[0-9]*" "/proc/$pid/task/$pid/children" 2>/dev/null | 
            while read cpid; do 
                printf "  |--%s\n" $cpid; 
            done
    done
    

    但这很愚蠢,因为它是在重新发明轮子。只需使用上述方法之一即可。

相关内容