On Mon, Aug 18, 2008 at 9:34 AM, srinivasan srinivas wrote: > Could you please suggest me a way to find pid of a process started on a > remote machine by the current process??
If ps + grep (or the more robust tool pgrep) won't work because you're running more than one instance at once, try this: instead of running the process via SSH directly, write a small wrapper script which runs the process locally and saves the PID to a file on the machine (or prints it to stdout if the program itself has no output), and then run that wrapper remotely. For example: import subprocess, sys f = open(sys.argv[1], 'w') p = subprocess.Popen(sys.argv[2:]) print >>f, p.pid f.close() You may have to be careful with the quoting of the arguments, since OpenSSH uses a shell to execute the command. You could then obtain the pid with something along the lines of: int(subprocess.Popen(['ssh', <hostname>, 'cat', <pidfile>], stdout=subprocess.PIPE).stdout.read()) -Miles -- http://mail.python.org/mailman/listinfo/python-list