Bu soruları ve cevaplarını görmeden önce küçük bir bash senaryosu yaptım. Kök haklarınız yoksa ve acct yüklü değilse veya komutunuzu doğrudan çağırmazsanız, bu hala yararlıdır (benim durumumda: arka plan işlemlerini ayarlamak için bir GUI kullanıyorum). Çalıştırmadan önce PID'yi almanız gerekir (komut dosyasına eklemek isteyen herkes? :)
#!/bin/bash
echo "Checking run time"
read -p "What is the pid? " PID
while true; do
# sleep needed! used to reduce cpu usage and mass of output
sleep 5
ps -eo uid,pid,etime | egrep '$PID' | egrep '$UID'
done
Bununla PROCESS_NAME adlı kişinin PID'sini bulun
ps aux | awk 'NR == 1 || /PROCESS_NAME/'
Aslında USER-ID ve PID'yi bir araya getirerek senaryoyu mantıksız hale getirmeye çalıştım, ama bu o kadar kolay
ps -eo uid,pid,etime | egrep '$UID[[:space:]]$PID'
değil ... her zaman işe yaramıyor gibi görünüyor ...