What do you mean by “sleep”?
If you mean state S (interruptible sleep), that means that the process is waiting for I/O. The process is currently engaged in a blocking system call. You can't force it to “wake up” in a generic way — what would it do then? It'll wake up when the input or output operation it wants to make is possible (e.g. when data is available to read, when a write channel becomes ready, etc.).
If you mean state T (stopped), that means that the process is currently suspended. You can unsuspend it by sending it a CONT signal (SIGCONT):
kill -CONT PID.
Processes do not “randomly go to sleep”. They sleep when they have nothing to do. They get suspended if they receive a signal that stops them: SIGTSTP, SIGSTOP, SIGTTIN, SIGTTOU. These last two signals are sent by the terminal interface in the kernel when a background process tries to read from the terminal (resp. write to the terminal); if you aren't aware of that, you might think that the process randomly stops. If that's what happened, you need to bring it to the foreground; run
fg in the shell from which you started that background job, with the right argument to indicate the job that the process is part of, e.g.
stat* files in Linux's
/proc are read-only and I'm not aware of any time when they were writable. I don't know what you could hope to write there. The data reported by this file is kernel-managed data, and some of it can be changed more or less directly by the process, but it isn't something you can modify from the outside. For example you can't magically make a process become runnable.