[racket] Can raco exe assign a name other than "racket"?
50 minutes ago, Matthew Flatt wrote:
> At Tue, 29 Mar 2011 14:51:13 -0400, Eli Barzilay wrote:
> > Two hours ago, Matthew Flatt wrote:
> > > At Mon, 28 Mar 2011 07:28:54 -0600, Matthew Flatt wrote:
> > > > To change the name shown by `ps', it looks like Racket could call
> > > > prctl() with PR_SET_NAME --- at least for Linux (2.6.9 and up). I'll
> > > > look into that more.
> > >
> > > I've pushed that change. Racket sets the process name to match the -N
> > > argument if supplied, otherwise it sets the name to match argv[0].
> > >
> > > The latter makes `raco exe'-produced executables have the expected
> > > name, and the former makes `drracket' start a process with the name
> > > `drracket' (instead of `gracket').
> >
> > I'm still seeing this from `ps auxw':
> >
> > eli 23017 44.0 3.2 451000 130804 pts/5 Rl+ 14:48 0:01
> > /home/eli/src/plt/bin/gracket -N ../../bin/drracket -l- drracket/dr
> >
> > wasn't that suppose to change?
>
> No. In Linux, each process has a name and a command line. The default
> `ps' mode shows names, but BSD mode (among others) shows command lines.
> The prctl() change sets only the name.
Ah, I forgot about that mess. (I have finger-memorized "auxw".)
> It looks like the command line can be changed in Linux by
> overwriting the space used by the current command-line arguments.
> I'm not sure that's a good idea, partly due to the way a
> command-line would have to be synthesized, and partly because the
> actual command-line already has distinguishing information, but I
> can look into it more.
This does sound iffy, and probably less if the path shows the
executable name for executables compiled with `raco exe'.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!