Ich baue Programmierwettbewerb Software. Ein Benutzerprogramm wird von unserem Bewertungssystem empfangen und ausgewertet, indem es kompiliert und über eine fork() und exec() ausgeführt wird. Der übergeordnete Prozess wartet darauf, dass der untergeordnete Prozess (der Prozess des Absendens) beendet wird, und bereinigt ihn anschließend.Messung von Prozessstatistiken in Linux
Um nützliche Informationen über den Programmablauf zu erhalten, möchte ich die CPU-Zeit und den Spitzenspeicher des Programms messen. Verfolgt der Linux-Kernel diese Werte? Gibt es eine andere Möglichkeit, diese Informationen zu erhalten?
Seien Sie vorsichtig dabei, ein bösartiger Benutzer könnte eine böse Überraschung in sein Programm setzen. –
Wir beschränken die maximale CPU-Zeit, Dateien öffnen, etc, mit dem Setrlimit Syscall, so glaube ich nicht, dass der Benutzer keine bösen Überraschungen springen kann :) – donatello