How do you write to a proc file from a user program?
I know how to write to a proc file from the command line (e.g. echo hello > myProcFile) but I need to do that in a user program (written in C). I tried using fopen but it returned an error. So is there anything else I can do besides using something like execl echo?
|
/proc is a virtual file system---physically you are just accessing data structures in memory. I would have assumed you would access it as you would any ohter file. The big difference is that writing to /proc is not something that you typically should be doing.
for something like fopen to open a file, I assume the user running the program must have the appropriate privileges. What happens if you run you program as root? |
Thank you for replying!
I get the same result when I run my program as root. And to clarify, I am doing this for a school assignment. I had to make a module that creates a /proc file entry when it is initialized. The next step, which I am stuck on, is to have a user program write and read to/from the /proc file. I thought that perhaps fopen didn't work because /proc is virtual. Or maybe I need to set permissions on the /proc file when I create it? |
Actually, scratch that. I just realized I had coded the path of the file using '~' which obviously means different things when I'm me vs when I'm root. So that means you solved my problem. Thank you very much!
|
All times are GMT -5. The time now is 10:35 PM. |