diff --git a/service.go b/service.go index 784ccd8..6c4ab72 100644 --- a/service.go +++ b/service.go @@ -15,6 +15,8 @@ import ( "time" ) +const InvalidPid = -1 + // ServiceOption configures a Service instance. type ServiceOption func(*Service) error @@ -164,6 +166,15 @@ func (s Service) FrameBuffer() *FrameBuffer { return s.xvfb } +//PID returns the service pid +func (s Service) PID() int { + if s.cmd != nil { + return s.cmd.Process.Pid + } + + return InvalidPid +} + // NewSeleniumService starts a Selenium instance in the background. func NewSeleniumService(jarPath string, port int, opts ...ServiceOption) (*Service, error) { s, err := newService(exec.Command("java"), "/wd/hub", port, opts...)