2017-03-20 1 views
1

Ich möchte einen Systemaufruf hinzufügen, um die CPU-Auslastung für stdout zu drucken. Aber ich finde die Funktion "system()" in "stdlib.h" scheint nicht in Linux-Kernel funktionieren? Gibt es eine andere Methode, um "cat/proc/stat" zu simulieren?Wie kann ich einen Systemaufruf schreiben, um `cat/proc/stat` zu simulieren?

+0

haben Sie versucht, die Datei normal zu öffnen und den Inhalt auszudrucken? –

+0

@ChrisTurner Entschuldigung für diese neue Frage. Wie öffne ich eine Datei innerhalb der System Call Implementierung? Ich habe versucht, filp_open zu verwenden, es übergibt die Kompilierung, aber das System verhält sich merkwürdig, nachdem es zum geänderten Kern gewechselt hat. –

+0

Ich bin mir nicht sicher, aber ich denke, das könnte als ein Duplikat dieser Frage zählen http://stackoverflow.com/questions/1184274/how-to-read-write-files-within-a-linux-kernel-module –

Antwort

1

Sie können prüfen, wie der Linux-Kernel Informationen in der Datei /proc/stat auffüllt.

Überprüfen Sie die Implementierung der Funktion show_stat definiert in fs/proc/stat.c im Linux-Kernel-Quellcode. Sie werden eine Idee bekommen.

Ich hoffe, das wird Ihnen helfen.

Verwandte Themen