# Idiomatic status check

**URL:** <https://www.ruby-forum.com/t/idiomatic-status-check/153618>\
**Category:** Ruby\
**Created:** [November 19, 2008, 1:12pm UTC](https://www.ruby-forum.com/t/idiomatic-status-check/153618 "2008-11-19T13:12:44Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![enduro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/5f8ce5/32.png) [@enduro](https://www.ruby-forum.com/u/enduro)\
**Post date:** [November 19, 2008, 1:12pm UTC](https://www.ruby-forum.com/t/idiomatic-status-check/153618/1 "2008-11-19T13:12:44Z")

</div>

Hi,

how would idiomatic Ruby look like when it comes to status checks of  
processes? Here’s a short method which checks if a PostgreSQL cluster is  
up:

def running?  
output = `/etc/init.d/postgresql-8.3 status`.split  
output[3] == “up” ? true : false  
end

What’s the preferred way?

---

<div class="post-metadata">

**Author:** ![enduro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/5f8ce5/32.png) [@enduro](https://www.ruby-forum.com/u/enduro)\
**Post date:** [November 19, 2008, 3:35pm UTC](https://www.ruby-forum.com/t/idiomatic-status-check/153618/2 "2008-11-19T15:35:05Z")

</div>

2008/11/19 The O. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> What’s the preferred way?

Why not just

def running?  
`/etc/init.d/postgresql-8.3 status`.split[3] == “up”  
end

or even

def running?  
/\bup\b/ =~ `/etc/init.d/postgresql-8.3 status`  
end

?

Kind regards

robert
