Starting/Stopping a process via web interface?


#1

'Sup everybody?!

I’ll be wanting to start/stop a background process via RoR’s web
interface (probably by clicking a form button). When activated, this
process will do its stuff perpetually, until deactivated again. Any
ideas how to go about this? cron would probably be involved.

Thanks,
Joe


#2

Joe wrote:

. Any
ideas how to go about this? cron would probably be involved.

ruby has a system() function… you could use that? i’d be very cautious
tho, given the obvious security concerns opening up your system i.e.
don’t pass in the variable as a parameter and then send to the system
call, cause someone might pass in ‘mail removed_email_address@domain.invalid < /etc/passwd’
er something drastic like that. .


#3

Joe wrote:

'Sup everybody?!

I’ll be wanting to start/stop a background process via RoR’s web
interface (probably by clicking a form button). When activated, this
process will do its stuff perpetually, until deactivated again. Any
ideas how to go about this? cron would probably be involved.

Thanks,
Joe

Nagios (a network monitoring app) has a command file that the web
interface writes to. Then another background process periodically reads
that file and executes commands within.

You could do the same using a database as well which would avoid some
locking issues…

Just be sure you sanatize the input. Even better, write a code like
“START_FOO” which when read will run a specific command. That will make
it a lot harder to hijack.