How to programatically change the Ubuntu 16.04 System Monitor process name from cli or mono to an unique name?

Frank Chang <[email protected]>
Newsgroups gmane.comp.gnome.mono.general
Message-ID <CANuJMRrU0pXkoF+UEucHMqg3ZtkPVuNXSP0GwxeknSakdxmzgA@mail.gmail.com>
  I wrote and tested the following C++ program after reading the Stack
Overflow article ,
http://stackoverflow.com/questions/31747247/change-real-process-name-in-c-on-linux
.

I discovered my  program could not  programatically change the Ubuntu 16.04
System Monitor
process name from cli or mono to an unique name such as "fancy_name". How
can we
fix my botched C++ program for the use case where multiple Linux processes
have an identical name and we would like to kill processes by process name
using pgrep? My architect does not wish to use UNIX scripts for this
purpose.

#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <csignal>
#include <string.h>
#include <sys/prctl.h>

using namespace std;

int main(int argc, char* argvp[])
{
   char lockfile[4096];
   char environment_variable[4096];
   char exe[4096];

   cout << argvp[1] << endl;
   if (strcmp(argvp[1] , "-start") == 0)
   {
        sprintf(exe,"%s.exe",argvp[2]);
    cout << exe << endl;
        ifstream myReadFile;
        myReadFile.open(exe);
        if (!myReadFile.good())
    {
        cout << "-start Unrecognized C# executable " << exe << endl;
                return 0;
    }
    char *argv[] = { "/usr/lib/mono/4.5/mono-service.exe",
                         exe,
                         0
               };

    sprintf(environment_variable,"LD_LIBRARY_PATH=%s",argvp[3]);

    cout << environment_variable << endl;
        char *envp[] =
        {
                environment_variable,
            0
        };
    cout << argv[0] << endl;
        execle("/usr/lib/mono/4.5/mono-service.exe",
               "fancy_name",
               exe,
               (char *)0,
               envp
               );
        perror("Oops!");
    }
    return 1;
}

Any help is greatly appreciated.
       Frank

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.