หลังจากมองหาคำตอบมากมายใน StackOverflow ฉันไม่เห็นคำตอบที่ตรงกับความต้องการของฉัน
นั่นคือการทำให้คำสั่งด้านบนเพื่อรักษาความสดชื่นด้วยคำหลักที่กำหนดและเราไม่จำเป็นต้อง CTRL + C / top อีกครั้งและอีกครั้งเมื่อกระบวนการใหม่วางไข่
ดังนั้นฉันจึงสร้างใหม่ ...
ต่อไปนี้เป็นเวอร์ชันที่ไม่ต้องรีสตาร์ท
__keyword=name_of_process; (while :; do __arg=$(pgrep -d',' -f $__keyword); if [ -z "$__arg" ]; then top -u 65536 -n 1; else top -c -n 1 -p $__arg; fi; sleep 1; done;)
แก้ไข __keyword และควรใช้งานได้ (Ubuntu 2.6.38 ทดสอบแล้ว)
2.14.2015 เพิ่ม: ส่วนปริมาณงานระบบจะหายไปด้วยรหัสข้างต้น สำหรับผู้ที่ใส่ใจเกี่ยวกับส่วน "ค่าเฉลี่ยการโหลด":
__keyword=name_of_process; (while :; do __arg=$(pgrep -d',' -f $__keyword); if [ -z "$__arg" ]; then top -u 65536 -n 1; else top -c -n 1 -p $__arg; fi; uptime; sleep 1; done;)