From: Joe Van Dyk Date: 2005-03-30T11:15:20+09:00 Subject: Re: Getting process status On Tue, 29 Mar 2005 17:51:18 -0800, Joe Van Dyk wrote: > If I have the id of a process, how can I get a Process::Status object for it? > > Thanks, > Joe > Actually, what I'm trying to do is create an application that will be able to start, kill, and monitor programs on a bunch of linux machines. My initial attempt is using DRb. I have a Node class that will run on each "node". The Node class will have methods for starting, killing, and monitoring processes. I have a NodeProcess object that enscapulates starting, killing, and returning the status of a process. I also have a NodeMonitor class that will connect to all the different Node classes and let the user start/kill different processes on the Node. Does my design look ok? I'm having some difficulties correctly starting a process and getting the status of a currently running or killed process. To start a process, I have something like def start_process @process_id = fork do $logger.info "Executing '#{@command} #{@arguments}'" Kernel.exec "#{@command} #{@arguments}" end $logger.info "New process id: #{@process_id}" end end where @command and @arguments are just strings that have been set already. But I'm getting the process id back of the "sh -c some_command args" process, not the real process. And I'm still struggling on how to get the status of my process. Thanks for your input! Joe