特定のcmd“ scp”が実行されるttyを見つける方法


11

誰が特定のコマンドを実行し、どの端末がそれを実行するために使用されたかを知るにはどうすればよいですか?


オリジナル

特定のcmdがだれによって実行され、自分の端末について知るにはどうすればよいですか


1
この質問を言い換えて、少し明確にできますか?

1
「誰がscpを使用しているのかを判断するために、どのpsコマンドを使用する必要がありますか?」それはps -ef | grep scp
マイケルトッド

回答:


7

実行されているコマンドを確認するには、「ps -ef」を使用します。これは何を教えてくれます誰もが。これは通常、情報が多すぎます。

特定のコマンドを実行しているユーザーを見つけるためにそれを絞り込むには、次のような「grep」フィルターを追加します。

ps -ef | grep scp

これにより、すべてのscpコマンドが返されますが、grepは文字列と一致するだけなので、scpおよびscpの文字が埋め込まれた他のコマンドを探すgrepコマンドも返されます。そのため、grepに与えられた式を賢くする必要があるかもしれません(多くの場合、引用符を付けてスペースを追加するだけです:

ps -ef | grep "scp "

または、正規表現をさらに活用し、さらに:

ps -ef | grep "[s]cp "

ユーザーを知っていて、実行しているものだけを知りたい場合は、「ps -fu」があなたの友達です。例えば

ps -fu tom

もちろん、これをgrepと組み合わせて、tomのscpプロセスを取得できます。

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

列6はttyです。


1
'grep "[s] cp"'トリックの+1-これは、私が 'procname'と呼ぶスクリプトで使用するものです。
ジョナサンレフラー

3

を使用ttyして、標準入力に接続されている端末のファイル名を見つけることができます。

あなたの質問の後半部分については、sudoまたはsu、その後grep -c 'command' /home/username/.bash_history

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.