1) Este é pager ou swapper: Qual processo tem 0 PID?
2) Nunca usei o Minix mas o manual diz que o pid negativo no Minix significa processo kernel. Como isso é realmente parte da implementação do kernel, eu não posso dizer se isso está de acordo ou não com POSIX =)
3) Você deve usar pid_t
Se o seu objetivo é a portabilidade máxima, você deve ler o POSIX e ele diz:
Primeiro, a função getpid () retorna pid_t
. pid_t
é definido em types.h.
Segundo:
... blksize_t, pid_t, and ssize_t shall be signed integer types. ...
The implementation shall support one or more programming environments
in which the widths of ..., pid_t, ... are no greater than the width
of type long. The names of these programming environments can be
obtained using the confstr() function or the getconf utility.
Você pode salvar o valor pid_t
em long
.
Observe também que, por POSIX, pid_t
é um inteiro.