Search code examples
cpopenkillpidptrace

C - Get PID of process opened with popen


I have a program written in C, which opens another program using popen. I 'd like to get the pid of that program or some kind of handler for it, so as to kill it after a certain time limit, or if it exceeds some ram, and stdout limits. I think this must be done with ptrace, which needs the PID, which I don't know how to obtain.


Solution

  • Just write your own implementation of popen that returns the PID. It's much less ugly than some crazy hackery around the existing popen. You can find source code to popen implementations all over the net. Here's one.