keep eventmachine app running

V

Vect Vect

I want to find out how to get a event machine app running in the
background.

In example scripts I have seen when the script are executed it runs in
the console but when the window/ssh session is closed the app stops.

What needs to be done to have the scripts running as a process in the
background
 
B

Bill Kelly

Vect said:
I want to find out how to get a event machine app running in the
background.

In example scripts I have seen when the script are executed it runs in
the console but when the window/ssh session is closed the app stops.

What needs to be done to have the scripts running as a process in the
background

A couple possibilities:

/usr/bin/nohup

/usr/bin/screen


nohup will allow the output to be logged to a file, and keep the
process running when you disconnect.

screen will allow the actual 'console' to be preserved, so that
you can reconnect to it later.

(The manpage for screen is lengthy and may appear a little daunting
at first, but there are only a few concepts to learn to begin using
screen. If you're doing much work over ssh, it's an extremely
useful command.)


Hope this helps,

Bill
 
J

Joel VanderWerf

Bill said:
A couple possibilities:

/usr/bin/nohup

/usr/bin/screen


nohup will allow the output to be logged to a file, and keep the
process running when you disconnect.

screen will allow the actual 'console' to be preserved, so that
you can reconnect to it later.

(The manpage for screen is lengthy and may appear a little daunting
at first, but there are only a few concepts to learn to begin using
screen. If you're doing much work over ssh, it's an extremely
useful command.)

Those are ideal choices, particularly if you don't want to touch the
source code. If you want to write a program that just runs in the
background with no need for screen or nohup, look into the various
daemonize methods people have written in ruby.
 
V

Vect Vect

Rein said:
This is not strictly a Ruby question. It's a *nix question. The answers
already provided are sufficient, however:

A simple `ruby myscript.rb &` would also suffice, although process
control would then be more difficult.

The more complete and general way to handle such processes in the *nix
world is the use of an init-like, like initd, runit or OS X's launchd.

thanks guys.

I think screen is looking like a suitable solution
 
K

Kirk Haines

What are some projects that do this and do they work with eventmachine

If you are writing the software, it's simple. You should do a little
background research, IMHO, so that you understand what daemonizing is.

http://www.google.com/search?q=how+to+daemonize+a+process

Once you understand that, you can pretty easily write a little Ruby
code to do a passable job yourself. There's not much to it.

Or, you can use someone else's project to do it:

gem search -r daemon

Take a look at some of those. Here's one that has been around for a while:

http://daemons.rubyforge.org/

Good luck!


Kirk Haines
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,997
Messages
2,570,241
Members
46,831
Latest member
RusselWill

Latest Threads

Top