Open p6rt opened 7 years ago
Opening a ticket, per https://github.com/perl6/roast/issues/339
-----------8\<-------------------------
$*PROGRAM-NAME is supposed to be a replacement for Perl 5's $0, but it doesn't work that way.
What I'd expect to work:
use v6;
$*PROGRAM-NAME = 'foo';
say `ps $$`;
=output
Cannot modify an immutable Str (test.pl)
in block \
use v5.26; $0 = "foo"; say `ps $$`; __DATA__ # PID TTY STAT TIME COMMAND # 5875 pts/1 S+ 0:00 foo
On Sun, Oct 1, 2017 at 12:35 PM, Zoffix Znet \perl6\-bugs\-followup@​perl\.org wrote:
$*PROGRAM-NAME is supposed to be a replacement for Perl 5's $0, but it doesn't work that way.
What I'd expect to work:
use v6; $*PROGRAM-NAME = 'foo';
This is not portable and not reliable --- although it will probably work on the limited set of systems moarvm/rakudo currently run on. But the linked ticket is not quite right either: even on Unix-likes that support it, the result would be shown by 'ps' as something like 'foo [moarvm]' (exact format will depend on OS and/or 'ps' implementation). This is forced for security-related reasons, and you can't override the process's execname to control the part in brackets.
-- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
The RT System itself - Status changed from 'new' to 'open'
I wonder if this needs a separate sub or variable instead of adding secret functionality to $*PROGRAM-NAME.
On 2017-10-01 09:52:19, allbery.b@gmail.com wrote:
On Sun, Oct 1, 2017 at 12:35 PM, Zoffix Znet \perl6\-bugs\-followup@​perl\.org wrote:
$*PROGRAM-NAME is supposed to be a replacement for Perl 5's $0, but it doesn't work that way.
What I'd expect to work:
use v6; $*PROGRAM-NAME = 'foo';
This is not portable and not reliable --- although it will probably work on the limited set of systems moarvm/rakudo currently run on. But the linked ticket is not quite right either: even on Unix-likes that support it, the result would be shown by 'ps' as something like 'foo [moarvm]' (exact format will depend on OS and/or 'ps' implementation). This is forced for security-related reasons, and you can't override the process's execname to control the part in brackets.
Migrated from rt.perl.org#132194 (status was 'open')
Searchable as RT132194$