0

監視しているいくつかの *nix システムで、top コマンドからプロセスの詳細を抽出する必要があります。必要な詳細は、ユーザー名、実行されたコマンド、PID、PPID、ユーザー名、常駐メモリ消費量です。

メモリ使用量がしきい値を超えているか、コマンドが不正な場合は、username@company.comのユーザーに警告を送信する必要があります。

これを Python で実行し、'top -bc -n 1' を実行してコマンド キーワードを grep して必要なデータを取得するスクリプトを作成しています。ただし、不正なプロセスのユーザー名を抽出して警告メールを送信する必要もあります。

ただし、8 文字を超えるユーザー名は自動的に切り捨てられます。完全なユーザー名を取得するにはどうすればよいですか?

4

2 に答える 2

2

このタスクに適している理由がわからないので、ps代わりに使用することを検討してください。出力は、1 つよりもはるかに柔軟に構成できます。toptoppstop

于 2013-02-27T11:38:27.963 に答える
0

ユーザー ID を使用し、それを解析してユーザー名を取得します。

getent passwd | grep <UID> | awk -F: '{ print $1; }'

それ、そして@wRARが言うように、psの代わりに使用してtopください。

于 2013-02-27T11:39:48.410 に答える