Re: Getting pid of a remote process

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Miles

    Re: Getting pid of a remote process

    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.Pope n(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=subproce ss.PIPE).stdout .read())

    -Miles
Working...