Ini dapat dengan mudah dilakukan dengan menggunakan watch
juga tanpa menggunakan skrip apa pun.
watch -t -n 10 "(date '+TIME:%H:%M:%S' ; ps aux | grep "pattern" | wc -l) | tee -a logfile"
Untuk melakukan apa yang Anda cari, sebuah skrip sederhana (seperti yang ditunjukkan oleh @Ignacio) akan membantu:
while true
do
echo "$(date '+TIME:%H:%M:%S') $(ps aux | grep "pattern" | wc -l)" | tee -a logfile
sleep 2
done
Saya menggunakan tee
bukannya >>
sehingga Anda dapat melihat output di terminal Anda serta menangkapnya di log Anda.
watch
dimaksudkan untuk output ke layar. Jika Anda hanya ingin menjalankan perintah setiap X detik maka Anda sebaiknya menggunakan delay loop untuk itu.
while true ; do somecommand ; sleep 2 ; done