コマンドラインから直接実行されるのではなく、別のデーモンやプロセスから実行されるPerlスクリプトの実行環境確認用スクリプト。
iam.pl:
#!/bin/env perl use strict; use warnings; use Cwd; open my $fh, ">>", "/tmp/iam.log" or die "Can't create logfile: $!"; print $fh ">>> [", scalar localtime, "] <<<\n"; print $fh ">>> CWD = [", Cwd::getcwd, "] <<<\n"; print $fh ">>> uid/euid = [$</$>] <<<\n"; print $fh ">>> gid/egid = [$(/$)] <<<\n"; print $fh ">>> \@ARGV =\n"; foreach my $p (@ARGV) { print $fh $p, "\n"; } print $fh "<<<\n"; print $fh ">>> \@INC =\n"; foreach my $p (@INC) { print $fh $p, "\n"; } print $fh "<<<\n"; print $fh ">>> \%ENV =\n"; foreach my $k (sort(keys(%ENV))) { print $fh "\%ENV{$k} = [", $ENV{$k}, "]\n"; } print $fh "<<<\n"; print $fh ">>> STDIN\n"; while (<STDIN>) { print $fh $_; } print $fh "<<<\n"; print $fh "\n"; close $fh;
メールサーバのlocal配信から起動されることを意識し、標準入力もダンプしているが、状況に応じてコメントアウトしてしまってもよい。
コメント