Sunday, May 5, 2024
 Popular · Latest · Hot · Upcoming
34
rated 0 times [  34] [ 0]  / answers: 1 / hits: 120730  / 1 Year ago, sun, april 16, 2023, 3:44:53

I have no idea where to start looking. I've been reading about daemons and didn't understand the concept.



More details :




  • I've been writing a crawler which never stops and crawlers over RSS in the internet.

  • The crawler has been written in java - therefore its a jar right now.

  • I'm an administrator on a machine that has Ubuntu 11.04 .

  • There is some chances for the machine to crash , so I'd like the crawler to run every time you startup the machine.

  • Furthermore, I'd like it to keep running even when i logged out. I'm not sure this is possible, but most of the time I'm logged out, and I still want to it crawl.



Any ideas? Can someone point me in the right direction?



Just looking for the simplest solution.


More From » java

 Answers
5

Here's a easy way to do that using SysVInit. Instructions:




  1. Create the start and the stop script of your application. Put it on some directory, in our example is:




    • Start Script: /usr/local/bin/myapp-start.sh

    • Stop Script: /usr/local/bin/myapp-stop.sh



    Each one will provide the instructions to run/stop the app. For instance the myapp-start.sh content can be as simple as the following:



    #!/bin/bash

    java -jar myapp.jar


    For the stop script it can be something like this:



    #!/bin/bash
    # Grabs and kill a process from the pidlist that has the word myapp

    pid=`ps aux | grep myapp | awk '{print $2}'`
    kill -9 $pid

  2. Create the following script (myscript) and put it on /etc/init.d.



    /etc/init.d/myscript content:



    #!/bin/bash
    # MyApp
    #
    # description: bla bla

    case $1 in
    start)
    /bin/bash /usr/local/bin/myapp-start.sh
    ;;
    stop)
    /bin/bash /usr/local/bin/myapp-stop.sh
    ;;
    restart)
    /bin/bash /usr/local/bin/myapp-stop.sh
    /bin/bash /usr/local/bin/myapp-start.sh
    ;;
    esac
    exit 0

  3. Put the script to start with the system (using SysV). Just run the following command (as root):



    update-rc.d myscript defaults 



PS: I know that Upstart is great and bla bla, but I preffer the old SysV init system.


[#40706] Sunday, April 16, 2023, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
fishutt

Total Points: 391
Total Questions: 137
Total Answers: 106

Location: Mexico
Member since Tue, Aug 11, 2020
4 Years ago
;