Ох уж эти школьники :-)
ну вот подумать же немного можно -- общение с syslog идёт через сокет, т.е. в общем случае сообщение прийти может вообще из сети от машины, где PID Namespace вообще другой.А теперь открываем исходники и видим:
/usr/src/lib/gen/syslog.c, функция vsyslog(...):
if (LogTag == NULL)
LogTag = _getprogname();
if (LogTag != NULL)
(void)fprintf(fp, "%s", LogTag);
if (LogStat & LOG_PID)
(void)fprintf(fp, "[%d]", getpid());
if (LogTag != NULL) {
(void)fprintf(fp, ": ");
}
Это libc из FreeBSD, линуксячий лень искать...
Очевидно, ты можешь реализовать свой вариант этой функции у себя в программе и накормить syslog чем угодно :)