diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2003-07-02 20:01:06 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2003-07-02 20:01:06 +0000 |
commit | 80bca1b464a2919ae4e20b8134207641e7b75d04 (patch) | |
tree | c3dcba9558dfc56d275821cb9e5ab641f3fb7f43 /pod/perlvar.pod | |
parent | dea2849036f7f874ea24a97b41ef1b738aa592ca (diff) | |
download | perl-80bca1b464a2919ae4e20b8134207641e7b75d04.tar.gz |
It would seem that in Linux 2.2 there is no way
we can do the right thing to make ps(1) see $0
our way. Also amend the $0 documentation a bit.
p4raw-id: //depot/perl@19935
Diffstat (limited to 'pod/perlvar.pod')
-rw-r--r-- | pod/perlvar.pod | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/pod/perlvar.pod b/pod/perlvar.pod index e00ec4fba0..3a2ed3f2cb 100644 --- a/pod/perlvar.pod +++ b/pod/perlvar.pod @@ -838,18 +838,22 @@ and C<$)> can be swapped only on machines supporting setregid(). =item $0 -Contains the name of the program being executed. On some (read: not -all) operating systems assigning to C<$0> modifies the argument area -that the C<ps> program sees. On some platforms you may have to use -special C<ps> options or a different C<ps> to see the changes. -Modifying the $0 is more useful as a way of indicating thecurrent -program state than it is for hiding the program you're running. -(Mnemonic: same as B<sh> and B<ksh>.) +Contains the name of the program being executed. + +On some (read: not all) operating systems assigning to C<$0> modifies +the argument area that the C<ps> program sees. On some platforms you +may have to use special C<ps> options or a different C<ps> to see the +changes. Modifying the $0 is more useful as a way of indicating the +current program state than it is for hiding the program you're +running. (Mnemonic: same as B<sh> and B<ksh>.) Note that there are platform specific limitations on the the maximum length of C<$0>. In the most extreme case it may be limited to the space occupied by the original C<$0>. +In some platforms there may be arbitrary amount of padding, for +example space characters, after the modified name as shown by C<ps>. + Note for BSD users: setting C<$0> does not completely remove "perl" from the ps(1) output. For example, setting C<$0> to C<"foobar"> may result in C<"perl: foobar (perl)"> (whether both the C<"perl: "> prefix @@ -858,7 +862,9 @@ and version). This is an operating system feature, Perl cannot help it. In multithreaded scripts Perl coordinates the threads so that any thread may modify its copy of the C<$0> and the change becomes visible -to ps(1) (assuming the operating system plays along). +to ps(1) (assuming the operating system plays along). Note that the +the view of C<$0> the other threads have will not change since they +have their own copies of it. =item $[ |