summaryrefslogtreecommitdiff
path: root/pod/perlvar.pod
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-07-02 20:01:06 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-07-02 20:01:06 +0000
commit80bca1b464a2919ae4e20b8134207641e7b75d04 (patch)
treec3dcba9558dfc56d275821cb9e5ab641f3fb7f43 /pod/perlvar.pod
parentdea2849036f7f874ea24a97b41ef1b738aa592ca (diff)
downloadperl-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.pod22
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 $[