What "stops" a process?

I am playing around with spawnvpe() and something puts the spawned process - and sometimes the spawning process - into a “STOPPED” process state as reported by pidin.

I have some fancy code surrounding the spawn call and will be stripping back to basics later this afternoon. But I was wondering what would put a process into this state? How would one deliberately put it into this state, if one wanted to?

I don’t know if it is coincidental but the processeses that really aggravate this are processes that themselves create other processes and threads. The two single threaded processes in my suite don’t seem to have a problem. Not that I have seen anyway.


If dumper is running, while it is dumping a crashed process it will be put in STOP state. A program being debug with gdb can be in a STOP state. Last I can think of is if a STOP signal was sent to the process, by another one, but I do not know of any other action then the one I listed that could do it.

You could use the system profiler to record what I sending a STOP signal to the process.