id_proceso=mi_proceso();
Es una forma de obtener su ID. Todos los procesos tienen también su ID en la variable local predefinida ID, que puedes copiarla en cualquier variable global que tengas.
Otra forma de obtener la ID es con:
id_proceso=get_id(type mi_proceso);
Que te devuelve la ID de un proceso cualquiera de ese tipo que exista (o cero si no hay). Si vuelves a llamar a GET_ID, te dará otra ID de otro proceso de ese tipo, hasta que te los diga todos (momento en el que empieza a devolver creo) o hagas un FRAME (que se reinicia y vuelve a darte de nuevo los valores desde el principio).
Pero lo mejor es obtener la ID de un proceso nada más crearlo. Ojo, esta asignación tiene lugar tras el FRAME del proceso creado (lo digo por si ese mismo proceso tiene que leer dicha variable, que aun valdrá cero o lo que valiese antes).
También puedes enviar señales como S_FREEZE (que detiene el proceso y muestra su gráfico, con sus características de size, angle y demás, que pueden modificarse desde otros procesos), S_SLEEP (que detiene el proceso y NO muestra su gráfico), S_WAKEUP (que despierta un proceso dormido/congelado), y sus variaciones _TREE, como S_KILL_TREE que mata a un proceso y todos aquellos que haya generado (sus hijos), o S_SLEEP_TREE, S_WAKEUP_TREE...