преобразование BASH в Python (v2.6) [закрыто]

У меня этот код в bash и не знаю, как перевести строки с помощью «ps -C .....» и «ps -eo ....» любую помощь в том, как писать эти строки?

if [ "$SwapUsedActivity" == "true" ]
then 
    echo "WARNING: Potential Swapping happening please check for increasing swap usage"
    echo "INFO: checking kswapd number of process and cputime, check for TIME colume for how busy kswapd was"
    ps -C kswapd0 -C kswapd1 -C kswapd2 -C kswapd3 -C kswapd4  -o pid,ppid,stime,etime,time,pcpu,args
else
    echo "INFO: High swap space usage detected, not a potential issue but check activity"
fi
else
    echo "INFO: Swap usage within the limits"
fi
if [ $AvgAnnonymousMemoryused -gt 20 ]
then 
    echo "INFO: High residential memory usage detected, this may not be an issue, please check top memory consuming processes"
    echo "INFO: Printing top 10 memory consuming processes"
    ps -eo pid,ppid,user,rss,comm --sort=rss | tail -10 
fi
1
задан 14 July 2015 в 17:45

1 ответ

Я использовал бы что-то вроде psutil, чтобы захватить данные программно.

Это займет немного времени, чтобы узнать, что более быстрая альтернатива - это psutil из Python.

import commands
exit_code, output = commands.getstatusoutput('ps -eo pid,ppid,user,rss,comm --sort=rss')
print '\n'.join(output.split('\n')[-10:])

Я переместил tail в чистый Python, просто для удовольствия.

3
ответ дан 23 May 2018 в 19:05

Другие вопросы по тегам:

Похожие вопросы: