Forum: JRuby daemons

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Phy P. (Guest)
on 2008-10-20 20:01
(Received via mailing list)
Hello!

I am having issues with daemons (to a process in detached from terminal)
as in:

/usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/daemonize.rb:122:in
`each_object': ObjectSpace is disabled; each_object will only work with
Class, pass +O to enable (RuntimeError)


I am just trying to use daemons to run a process detached from the tty
(so that it will continue to run after I logout).  I think I am using
daemons in the most simplistic case:

> cat daemonize.rb
#!/usr/bin/env jruby

require 'rubygems'
require 'daemons'

Daemons.run('scaleMatrix.rb')

# end
>

scaleMatrix itself is a jruby script.  Using this under ruby e.g. using
ruby calling a ruby script, appears to work correctly (simple tests),
however this is not the case with jruby.

Is there perhaps a better way of detaching from the controlling tty and
have the process run after I log out?

TIA!
Phy

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email
Phy P. (Guest)
on 2008-10-20 20:42
(Received via mailing list)
Following up on this a bit, after some experimentation, I am not getting
a nice message:
> jruby -X+O scaelMatrix.rb start
/usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/daemonize.rb:103:in
`safefork': fork is unsafe and disabled by default on JRuby
(NotImplementedError)

So now I am stuck. Either I need to enable an 'unsafe' method or I need
some help in understanding how to create a daemonized process e.g. a
process that is detached from the parent tty so that I can log out and
still have the application/process run.  Any suggestions?

Thanks for the help!
Phy


--- On Mon, 10/20/08, Phy P. <removed_email_address@domain.invalid> wrote:

> `each_object': ObjectSpace is disabled; each_object will
>
> correctly (simple tests), however this is not the case with
> Tired of spam?  Yahoo! Mail has the best spam protection
> around
> http://mail.yahoo.com
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>     http://xircles.codehaus.org/manage_email

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email
Phy P. (Guest)
on 2008-10-20 20:57
(Received via mailing list)
Hello again.

Okay, so further testing shows that indeed, fork system call fails (or
at least I believe it fails) on my sparc machine:

> jruby -X+O -J-Djruby.fork.enabled=true scaleMatrix.rb start
WARNING: fork is highly unlikely to be safe or stable on the JVM. Have
fun!
/usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/daemonize.rb:151:in
`call_as_daemon'/usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/daemonize.rb:151:in
`call_as_daemon': No child processes - No child processes: No child
processes - No child processes (Errno::ECHILD)
 (Errno::ECHILD)
...

So now I am truly stuck.  Can anyone please educate me on how to create
a daemon process with Jruby?  I just need to be able to launch this
application/process and be able to log out and have the
application/process continue to run (for several weeks).  Any help is
greatly appreciated!

Cheers,
Phy



--- On Mon, 10/20/08, Phy P. <removed_email_address@domain.invalid> wrote:

>
> --- On Mon, 10/20/08, Phy P.
> > from terminal) as in:
> > from the tty (so that it will continue to run after I
> > Daemons.run('scaleMatrix.rb')
> > jruby.
> > Tired of spam?  Yahoo! Mail has the best spam
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection
> around
> http://mail.yahoo.com
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>     http://xircles.codehaus.org/manage_email

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email
Michael G. (Guest)
on 2008-10-20 21:00
(Received via mailing list)
On Mon, Oct 20, 2008 at 12:56 PM, Phy P. <removed_email_address@domain.invalid>
wrote:
> So now I am truly stuck.  Can anyone please educate me on how to create a daemon process 
with Jruby?  I just need to be able to launch this application/process and be able to log 
out and have the application/process continue to run (for several weeks).  Any help is 
greatly appreciated!
>> To: removed_email_address@domain.invalid
>> how to create a daemonized process e.g. a process that is
>> > From: Phy P. <removed_email_address@domain.invalid>
>> 
/usr/local/jruby-1.1.4/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/daemonize.rb:122:in
>> > case:
>> > >
>> > controlling tty and have the process run after I log
>> out?
>> >
>> > TIA!
>> > Phy
>> >

You will likely have more luck with this posting to the JRuby-User list.

Michael G.

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email
Phy P. (Guest)
on 2008-10-20 21:48
(Received via mailing list)
Micheal,

Opps, I thought I had posted to that group.  Sorry for the junk email
and thanks for the correction!

Cheers,
Phy


--- On Mon, 10/20/08, Michael G. <removed_email_address@domain.invalid> wrote:

> sparc machine:
> (Errno::ECHILD)
> > Phy
> >> Following up on this a bit, after some
> >> 'unsafe' method or I need some help in
> >>
> >> > I am having issues with daemons (to a process
> (RuntimeError)
> >> > case:
> >> > >
> >> > jruby.
>
> You will likely have more luck with this posting to the
> JRuby-User list.
>
> Michael G.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>     http://xircles.codehaus.org/manage_email

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email
Michael G. (Guest)
on 2008-10-20 21:50
(Received via mailing list)
On Mon, Oct 20, 2008 at 1:48 PM, Phy P. <removed_email_address@domain.invalid> 
wrote:
> Micheal,
>
> Opps, I thought I had posted to that group.  Sorry for the junk email and thanks for the 
correction!
>
> Cheers,
> Phy
>
Actually my mistake.  You had initially posted to ruby-talk and then
to JRuby-User.  It was showing up under both labels in my inbox.

Sorry for the interruption, my mistake.

Michael G.

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email
Phy P. (Guest)
on 2008-10-20 21:55
(Received via mailing list)
Well, you did point out that I did indeed post to the wrong mailing
list.  So thanks for forcing me to verify that I had indeed published it
correctly the second time.

Cheers!
Phy


--- On Mon, 10/20/08, Michael G. <removed_email_address@domain.invalid> wrote:

> >
> Michael G.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>     http://xircles.codehaus.org/manage_email

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email
Jacob K. (Guest)
on 2008-10-20 23:01
(Received via mailing list)
Just a wild guess, but would it be possible to daemonize the Java
process that you are running in?

Phy P. wrote:
> ...
>
>> `safefork': fork is unsafe and disabled by default on
>>
>>>
>>> `each_object': ObjectSpace is disabled;
>>> from the tty (so that it will continue to run after I
>>>
>>
>>> Is there perhaps a better way of detaching from the
>>>
>>>
>>
>
>     http://xircles.codehaus.org/manage_email
>
>
>


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email
Phy P. (Guest)
on 2008-10-21 00:32
(Received via mailing list)
Jacob,

That's a good idea and in fact, I have tried unsuccessfully to have an
external jruby wrapper invoke the scaleMatrix jruby script, but I run
into the same problem.

Perhaps you are suggesting that I use a different language to accomplish
this?  I am on the thought of writing a simple c app to setsid on the
process, but was hoping this could all be done in ruby/jruby (well ruby
actually does work).

Any thoughts?


--- On Mon, 10/20/08, Jacob K. <removed_email_address@domain.invalid> wrote:

> >
> >
> to be able to launch this application/process and be able to
> >
> >>>
> that is
> >> <removed_email_address@domain.invalid> wrote:
> >>>
> >>>
> >>
> >>>> cat daemonize.rb
> >>> scaleMatrix itself is a jruby script.  Using
> the case
> >> out?
> >>
> >>>     http://xircles.codehaus.org/manage_email
> >> To unsubscribe from this list, please visit:
> >
> To unsubscribe from this list, please visit:
>
>     http://xircles.codehaus.org/manage_email

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email
This topic is locked and can not be replied to.