.noname process???

I'm here in the need of an experts' help!!! :slight_smile:

When does a process acquire a name ".noname"

In one of my applications I create a process using the following code,
the process is created with the given name 'executable', but the same process is not reachable with the same name.
It is only reachable as .noname!

Do you have any tips to solve this problem?

pid_t
PRH_CreateProcess(char* executable,
char*const argv[],
int p[],
PRH_ProcessNotifier notifier,
SEA_UserContext userContext)
{
pid_t child;
int childPipe[2];
int i;

if (p) {
/* We should create pipes. */
if (PRH_createPipe (&p[0], &childPipe[1]) < 0) {
return 0;
}
if (PRH_createPipe (&childPipe[0], &p[1]) < 0) {
return 0;
}
}

if ((child = vfork ()) < 0) {
REP_LOG_ERROR(("Vfork failed!\n"));
REP_LOG_ERROR(("%s\n", strerror(errno)));
return 0;
}
else if (child)
{
/* Parent, close the child side and register the new process /
if (p) {
close (childPipe[0]);
close (childPipe[1]);
}
PRH_addProcess (child, executable, argv, p, notifier, userContext);
return child;
}
else
{
/
Child, close parent side, setup stdin & stdout and exec away */
if (p) {
close (p[0]);
close (p[1]);

  if \(dup2 \(childPipe[0], 0\) &lt; 0\) \{ /* stdin */
    REP\_LOG_FATAL\(\("Dup2 failed\\n"\)\);
  \}
  close \(childPipe[0]\);

  if \(dup2 \(childPipe[1], 1\) &lt; 0\) \{ /* stdout */
    REP\_LOG_FATAL\(\("Dup2 failed\\n"\)\);
  \}
  close \(childPipe[1]\);
\}
else
\{
  /* If no pipe was requested, close stdin and stdout to avoid zoombies
     when the parent dies. stderr should also be closed, but that can't
     be done since some tools relies on that errors can be printed on
     stderr and end up in the SEA log. Each caller should really setup
     an "error pipe" for this. */
  close\(0\);
  close\(1\);
\}

/* Close all other descriptors that are inherited. */
i = \(int\)sysconf\(\_SC\_OPEN_MAX\);
for \(i = i - 1; i &gt; 3; i--\)
\{
  close\(i\);
\}

/* Create own process group */
\(void\)setpgid\(0,0\);

execvp \(executable, argv \);

REP\_LOG_ERROR\(\("Execvp failed \(Executable: %s\)\\n", executable\)\);
REP\_LOG_ERROR\(\("%s\\n", strerror\(errno\)\)\);
_exit \(1\);

}
REP_LOG_ERROR(("Reached non reachable statement in PRH_CreateProcess\n"));
return 0;
}