Qual processo está ocupando um certo pseudo terminal pts / X?

7

No Linux: Normalmente, terminais pseudo são alocados um após o outro.

Hoje percebi que, mesmo após a reinicialização do meu laptop, o primeiro foi aberto A janela de terminal (que sempre foi pts/0 anterior) tornou-se subitamente pts/5 .

Isso foi estranho e me deixou curiosa. Eu queria descobrir qual processo está ocupando o dispositivo /dev/pts/0 e não tive sorte usando ferramentas comuns como who e lsof ou mesmo ps como sugerido no comentário:

pf@pfmaster-P170EM:pts/6 /var/log 1115> ps auxww | grep pts/0 
pf        7042  0.0  0.0  17208   964 pts/6    S+   12:32   0:00 grep --color=auto pts/0

O que eu sinto falta aqui? Possivelmente infectado por um rookit?

    
por pefu 29.01.2014 / 12:19

2 respostas

4

Se você tiver o fusor instalado e tiver permissão para usar o sudo:

for i in $(sudo fuser /dev/pts/0); do
    ps -o pid= -o command= -p $i
done

por exemplo:

24622 /usr/bin/python /usr/bin/terminator
24633 ksh93 -o vi
    
por 29.01.2016 / 11:38
2

Eu finalmente encontrei uma maneira, embora muito feia, de descobrir qual processo ocupa o pseudo-terminal pts/0 .

Como superusuário eu fiz cd /proc e digitei o seguinte comando bash:

for pid in [0-9]* ; do  \
    RES='ls -l $pid/fd/* 2>/dev/null| grep pts/0'; \
    if [ -n "$RES" ]; then echo "Process $pid owns: $RES"; fi; \
done

Desta forma, descobri que, no meu caso, o pts/0 foi ocupado pelo processo /usr/sbin/bumblebeed .

    
por 29.01.2016 / 11:20