علیرضا جان فرمان top یه فرمان پویاست و یه مقدار برای log گرفتن اذیت میکنه. حتی با ست کردن delay هم باز مشکل داره.
فرمان ps رو بهت پیشنهاد میکنم. به صورت:
ps -xl
x: نمایش فایل های در حال اجرا
l: نمایش اطلاعات اضافه
a: نمایش کل فرایندها
با این دستور هم که خودت بهتر میدونی صفحه به صفحه نشون میده:
ps -xl|more
اما مقصود تو:
ps -xl|grep firefox>~/Desktop/log.txt
اگه بخوای حرفه تر فقط روی یک ستون log بگیری، از دستور انعطاف پذیر awk به صورت زیر استفاده کن:
ps -xl|grep firefox|awk '{print $12}' >~/Desktop/log.txt
$12 مقدار ستون ۱۲ ام که زمان اجرا باشه رو بر میگردونه. میتونی خودت این عدد رو چیزهای دیگه ست کنی. اگه warnning داد، توجه نکن.
البته بهتره که براش یه اسکریپت بنویسیم.
دستورهای head و tail هم برای نظارت real time بر روی log ها بکار میرن که اگه خواستی بگو توضیح میدم.
البته دستوری که خودت پیدا کردی هم اگه میخوای اضافه نداشته باشه، اول این دستور رو اجرا کن:
top -b -p `pidof firefox`>~/Desktop/test
بعد Ctrl+C کن و بعد:
tail -2f ~/Desktop/test>~/Desktop/log.txt
میتونی دوتا دستور رو پشت سرهم توی یه اسکریپت قرار بدی. اما چون وسط دستور اول باید Ctrl+C کنی، توی یه خط نمیشه.
فعلا فکر میکنم این کارت رو راه میندازه:
ps -xl|grep firefox|tail -2f>~/Desktop/log.txt