Я пытался извлечь размер процесса с помощью команды:
size=`ps -eo vsz,pid | grep $pid | cut -'d' -f1`
Однако это работало только на некоторых компьютерах, но не на всех. Поэтому на тех, где он не работал, я попытался:
size=`ps -eo vsz,pid | grep $pid | awk '{print $1}'`
, однако, теперь это не сработало на компьютерах, где работала первая команда.
То, что я подразумеваю под "работающим" и "не работающим", это то, что иногда:
echo "|$size|"
будет возвращать что-то вроде:
|8762348
9835|
И, таким образом, следующее возвращает арифметическая ошибка c:
(( $size > $threshold ))
из-за символов перевода строки или возврата каретки, хранящихся в $ size. Есть ли способ надежного извлечения просто первого поля в разных версиях linux?