Trước khi tôi thấy câu hỏi này và câu trả lời của nó, tôi đã tạo ra một kịch bản bash nhỏ. Điều này vẫn hữu ích, nếu bạn không có quyền root và acct chưa được cài đặt hoặc bạn không gọi lệnh trực tiếp (trong trường hợp của tôi: Tôi sử dụng gui để thiết lập các quy trình nền). Bạn cần phải có được PID trước khi chạy (có ai quan tâm đến việc thêm nó vào tập lệnh không? :)
#!/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
Với điều này, hãy tìm PID của PROCESS_NAME
ps aux | awk 'NR == 1 || /PROCESS_NAME/'
Trên thực tế, tôi đã cố gắng kết hợp ID người dùng và PID để làm cho tập lệnh không bị lỗi thời, nhưng nó không dễ dàng ps -eo uid,pid,etime | egrep '$UID[[:space:]]$PID'
như vậy ...
dường như không hoạt động luôn ...