#!/usr/bin/env bash exec > /logs/granited/granited_smaps_err_log 2>&1 set +e trap : HUP while : do ps auxww | grep granite_web1 | grep -v grep | while read g do i=$( perl -ne 'if (/_web1-(\d)\.xml/) { print $1 }' <<< $g ) pid=$( awk '{ print $2 }' <<< $g ) log=/logs/granited/granited_${i}_smaps_log { printf "\n\nMEMINFO[%s] =============================================== (PID: %d)\n" "$( date '+%H:%M %m.%d.%Y' )" $pid free; echo ps -o pid,euser,vsz,rss,wchan,cmd -p $pid cat /proc/$pid/smaps } >>$log 2>&1 done sleep 60 done