Interesting. I tried this on my Linux system, and it was not at all as I expected. Long story short:
sub ps_line { my $ps = shift; print join ' ', "$ps:\t", @{ (grep { $_->[0] == $$ } map { [ split ] } `$ps | tail -n +2`)[0] }; print "\n"; } print "\$0 = $0\n"; ps_line( 'ps' ); ps_line( 'ps ww' ); { local( $0 ) = 'nyuck' x 3; print "\$0 = $0\n"; ps_line( 'ps' ); ps_line( 'ps ww' ); } print "\$0 = $0\n"; ps_line( 'ps' ); ps_line( 'ps ww' ); __END__ $0 = ./perlmonks.pl ps: 875 pts/1 00:00:00 perl ps ww: 875 pts/1 S+ 0:00 perl ./perlmonks.pl $0 = nyucknyucknyuck ps: 875 pts/1 00:00:00 perl ps ww: 875 pts/1 S+ 0:00 nyucknyucknyuck $0 = ./perlmonks.pl ps: 875 pts/1 00:00:00 perl ps ww: 875 pts/1 S+ 0:00 ./perlmonks.pl
In reply to Re^2: Calling strace from a perl program
by kyle
in thread Calling strace from a perl program
by jason_s
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |