find comando do PID

3

É possível encontrar a linha de comando de um processo em execução com seu pid ? a saída de /proc/pid/cmdline parece que remove o caractere de espaço para ele é difícil de ler a saída.

    
por mahmood 16.02.2013 / 13:15

3 respostas

16

De: link

  1. cat /proc/PID/cmdline | tr 'cat /proc/PID/cmdline | xargs -0 echo0' ' '

  2. %code%

por 16.02.2013 / 13:22
9

ps pode mostrar isso:

ps -o cmd fp <PID>

ps pode fazer muito mais. Para informações, consulte man ps

    
por 16.02.2013 / 13:23
2

Coloque este script no seu arquivo .bashrc e o forneça

$ source ~/.bashrc

Você pode invocá-lo com o comando $ pid , que recebe os PIDs como argumento de linha de comando e dá nome ao processo, usuário (proprietário do processo) como saída por exemplo:

$ pid 1 2 3 4 5 6 7 8 9 10
PID=1  Command=systemd  User=root
PID=2  Command=kthreadd  User=root
PID=3  Command=ksoftirqd/0  User=root
PID=5  Command=kworker/0:0H  User=root
PID=7  Command=rcu_sched  User=root
PID=8  Command=rcu_bh  User=root
PID=9  Command=migration/0  User=root
PID=10  Command=watchdog/0  User=root

Script:

function pid(){
        if [[ $# > 0 ]]
        then
                for i in $@
                do
                        ps -e -o pid,comm,user | awk '{print "PID="$1, " Command="$2," User="$3}'| egrep --color "^PID=$i\W"
                done
        else
                echo "Syntax: pid <pid number> [<pid number>]"
        fi
}
    
por 17.04.2014 / 02:36

Tags