Based on String contains in bash:
job='your_job_name'
job_status=$(status ${job})
if [[ ${job_status} == *running* ]]
then
# do whatever you need
else
# do whatever you need
fi
My first impulse was to use variation of code ImaginaryRobots provided
job='your_job_name'
dbus-send --system --print-reply --dest=com.ubuntu.Upstart \
/com/ubuntu/Upstart/jobs/${job}/_ \
org.freedesktop.DBus.Properties.Get string:'' string:state
which would return something like
method return sender=:1.0 -> dest=:1.94 reply_serial=2
variant string "running"
and use the solution above to check if the returned string contains "running". However case that job is not running dbus call will exit with status 1 instead returning "waiting" as I was expecting.
status ${job}
would never exit with status 1 except in the case when there is no such job.