use strict; use warnings; use feature 'say'; use Proc::ProcessTable; my $t = Proc::ProcessTable->new; foreach my $p (@{$t->table}) { next unless $p->cmndline =~ m{/Applications/iTerm.app/Contents/MacOS/iTerm2}; say sprintf('%s : %s : %s', @{ $p }{qw/uid pid cmndline/}); } #### $ perl 11108686.pl 501 : 608 : /Applications/iTerm.app/Contents/MacOS/iTerm2 501 : 610 : /Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp 1nickt 501 : 7264 : /Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp 1nickt