#!/usr/bin/python import sys, os, re def pidof(command): ps = os.popen('ps -ax -o pid,comm') processes = map(str.strip, ps.readlines()) ps.close() pids = [] for process in processes[1:]: # skip header #print >>sys.stderr, 'checking', process pid, comm = re.compile('(\d+)\s+[(]?([^)]+)[)]?$').match(process).groups() if os.path.basename(comm) == command: pids.append(pid) return pids if __name__ == '__main__': print ' '.join(pidof(sys.argv[1]))