Come trovare tty da cui viene eseguito un particolare cmd "scp"


11

Come posso sapere chi ha eseguito un determinato comando e quale terminale è stato utilizzato per eseguirlo?


Originale :

Come faccio a sapere che il cmd particolare viene eseguito da chi e per conoscere il mio terminale


1
Puoi riformulare questa domanda in modo che sia un po 'più chiara?

1
Intendi "quale comando ps dovrei usare per determinare chi sta usando scp?" Sarebbe ps -ef | grep scp
Michael Todd,

Risposte:


7

Per vedere quali comandi vengono eseguiti, utilizzare "ps -ef". Questo ti dirà cosa stanno facendo tutti, ma di solito sono troppe informazioni.

Per restringere il campo per scoprire chi esegue un determinato comando, è possibile aggiungere un filtro "grep" in questo modo:

ps -ef | grep scp

Questo restituirà tutti i comandi scp ma potrebbe anche restituire il comando grep che cerca scp e qualsiasi altro comando con le lettere scp incorporate in essi poiché grep è semplicemente corrispondente alla stringa. Quindi potresti dover essere intelligente con l'espressione data a grep (molte volte devi solo citarlo e aggiungere uno spazio:

ps -ef | grep "scp "

o ancora meglio sfruttare le espressioni regolari e:

ps -ef | grep "[s]cp "

Se conosci l'utente e vuoi solo sapere cosa stanno eseguendo, allora "ps -fu" è tuo amico. Per esempio

ps -fu tom

Che, ovviamente, può essere combinato con grep per ottenere i processi scp di tom:

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

La colonna 6 è la tty.


1
+1 per il trucco 'grep "[s] cp"' - è quello che uso in uno script che chiamo 'procname'.
Jonathan Leffler,

3

È possibile utilizzare ttyper scoprire il nome del file del terminale collegato allo standard input.

Per l'ultima parte della tua domanda, sudoo sue poi grep -c 'command' /home/username/.bash_history.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.