def main(argv=sys.argv, stdin=[]): # If there is something on stdin (that means piped into tracer) stdin_packages = [] if not sys.stdin.isatty(): stdin_packages = sys.stdin.readline().split() # All input packages enchanced by actual time (as modified time) packages = [] for package in args.packages + stdin_packages: packages.append(Package(package, time.time() if args.now else None)) try: tracer = Tracer() tracer.specified_packages = packages tracer.now = args.now processes = ProcessesList(tracer.trace_running(_user(args.user))) if not processes: return if args.interactive: _print_all_interactive(processes, args) else: _print_all(processes, args) except (UnsupportedDistribution, PathNotFound) as ex: print ex