Tôi đang xây dựng phần mềm lập trình cuộc thi. Chương trình của người dùng được nhận bởi hệ thống đánh giá của chúng tôi và được đánh giá bằng cách biên dịch nó và chạy nó thông qua một fork() và exec(). Quá trình cha mẹ chờ đợi cho đứa trẻ (quá trình gửi) để thoát ra, và sau đó làm sạch nó lên.Thống kê quá trình đo lường trong Linux
Để cung cấp thông tin hữu ích về chương trình chạy, tôi muốn đo thời gian CPU và bộ nhớ đỉnh được chương trình sử dụng. Hạt nhân Linux có theo dõi các giá trị này không? Có cách nào khác để lấy thông tin này không?
Hãy cẩn thận làm điều này, một người dùng giả mạo có thể gây bất ngờ khó chịu trong chương trình của họ. –
Chúng tôi hạn chế thời gian CPU tối đa, mở tệp, v.v., sử dụng syscall setrlimit, vì vậy tôi không nghĩ người dùng có thể gặp bất kỳ sự ngạc nhiên khó chịu nào :) – donatello