#!/usr/bin/perl use strict; use warnings; my $parent_id; foreach (`ps -ef`) { my ($uid,$pid,$ppid) = split; next unless ($pid eq $$); $parent_id = $ppid; last; } my $parent = (grep {/^\s*\d+/} (`ps -p $parent_id`))[0]; my $parent_name = (split /\s+/, $parent, 5)[4]; print $parent_name;