配置
我需要从我监视的几个*nix系统的top命令中提取进程细节。需要的详细信息包括用户名、执行的命令、PID、PPID、用户名和常驻内存消耗。
如果内存使用率大于阈值或命令非法,我需要在username@company.com
向用户发送警告。我正在写一个脚本在python中做到这一点,并通过执行'top -bc -n 1'和grepping命令关键字来获得所需的数据。但是,我还需要为发送邮件警告的非法进程提取用户名。
但是,top会自动截断大于8个字符的用户名。如何检索完整的用户名?
考虑使用ps
而不是top
,因为我不知道top
为什么更适合这项任务。
ps
输出比配置top
输出灵活得多。使用用户id,然后解析它以获得用户名:
getent passwd | grep <UID> | awk -F: '{ print $1; }'
那,就像@wRAR说的,用ps
代替top
。