zoukankan      html  css  js  c++  java
  • 查看进程id, 父进程id _How do I get the parent process ID of a given child process?

    How to get parent pid from a given children pid?

    I know I can mannully check it under /proc, I am wonder if there is a smart/better way to achieve this in Ubuntu. Note the parent may or may not be killed.

    Thanks

    ------------------------------------------------------------------------------------------------

    Using pstree by command name

    Using pstree you can search by the child process name and get the Process ID (PID) along with the parents, grandparents and any children of the child process:

    $ pstree -hp | grep sleep
               |-cron(763)---cron(795)---sh(839)---display-auto-br(841)---sleep(8414)

    In this case sleep is the child command and it's PID is 8414. It's parent ID is 841 and is called display-auto-brightness. The grandparent is a shell (sh) with a process ID of 839. The great-grandparent is cron with a process ID of 795. The great-great-grandparent is also cron with a process ID of 763.

    If you want to search by Process ID of sleep instead of name you can use:

    $ pstree -hp | grep 14653
               |-cron(763)---cron(795)---sh(839)---display-auto-br(841)---sleep(14653)

    Notice the sleep process ID changed to 14653. The parent (PID 841) sleeps for 1 minute, wakes up for a split second and then starts a new sleep command which gets a new process ID. This is another reason why searching for sleep is easier than searching by process ID.

    This code was taken from: Automatically adjust display brightness based on sunrise and sunset and adapted to this question.


    To see a nested chain all the way back to boot process use the PID instead of name:

    $ pstree -aps 8541
    systemd,1 splash fastboot kaslr
      └─cron,763 -f
          └─cron,795 -f
              └─sh,839 -c    /usr/local/bin/display-auto-brightness
                  └─display-auto-br,841 /usr/local/bin/display-auto-brightness
                      └─sleep,8541 60

    Note: Another minute has passed and the sleep command gets a new PID (8541).

  • 相关阅读:
    hdu 3496
    poj 2374
    zoj 3399
    poj 1321
    sgu 365
    hdu 3555
    poj 3345
    poj 2355
    Android重命名文件
    在workflow中传值的sample
  • 原文地址:https://www.cnblogs.com/oxspirt/p/9303109.html
Copyright © 2011-2022 走看看