Como encontrar tty a partir do qual um cmd "scp" específico é executado

11

Como posso descobrir quem executou um comando específico e qual terminal foi usado para executá-lo?


Original :

Como posso saber que cmd específico é executado por quem e para saber sobre meu terminal

Jeff Schaller
fonte
1
Você pode reformular esta pergunta para que fique um pouco mais clara?
1
Você quer dizer "qual comando ps devo usar para determinar quem está usando o scp?" Isso seria ps -ef | grep scp
Michael Todd
possível duplicação da atividade
Gilles 'SO- stop be evil'

Respostas:

7

Para ver quais comandos estão sendo executados, use "ps -ef". Isso mostrará o que todos estão fazendo, o que geralmente é muita informação.

Para reduzi-lo e descobrir quem está executando um comando específico, você pode adicionar um filtro "grep" da seguinte forma:

ps -ef | grep scp

Isso retornará todos os comandos scp, mas também poderá retornar o comando grep procurando scp e quaisquer outros comandos com as letras scp incorporadas, pois o grep está apenas correspondendo à string. Portanto, você pode precisar ser esperto com a expressão dada ao grep (muitas vezes, basta citá-lo e adicionar um espaço:

ps -ef | grep "scp "

ou ainda melhor, utilizar expressões regulares e:

ps -ef | grep "[s]cp "

Se você conhece o usuário e quer apenas saber o que está executando, "ps -fu" é seu amigo. Por exemplo

ps -fu tom

É claro que pode ser combinado com o grep para obter os processos scp de tom:

ps -fu tom | grep "[s]cp "

A coluna 6 é o tty.


fonte
1
+1 para o truque 'grep "[s] cp"' - é o que eu uso em um script que chamo de 'procname'.
31416 Jonathan Leffler
3

Você pode usar ttypara descobrir o nome do arquivo do terminal conectado à entrada padrão.

Para a última parte da sua pergunta, sudoou suentão grep -c 'command' /home/username/.bash_history.

Alan Haggai Alavi
fonte