Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

docky crashes from time to time for me. How can I make it restart automatically after it crashed?

share|improve this question
    
You may be able to adapt this script posted by someone who answered a similar question on superuser: superuser.com/questions/223449/auto-restart-process-on-crash –  user76204 Jul 15 '12 at 20:16

2 Answers 2

First off, I'm not using docky. But I'm assuming docky is in your $PATH. If not, then specify the full path to the binary.

Here is the awesome use of Bash:

Start off with a file, such as (vim instead of gedit if you want):

  • gedit ~/process_monitor.sh
  • Type the following:

    #!/bin/bash
    
    if [[ -z "$1" ]];then
        echo "ERROR: must specify program"
        exit 1
    fi
    
    while (( 0 == 0 ));do
        $@ &
        pid=`jobs -l | awk '{print $2}'`
        wait $pid
    done
    
  • Save the file.

  • Set the permission:

    chmod a+x ~/process_monitor.sh
    

Now you can run a program like so:

~/process_monitor.sh docky

and it'll launch the program once, and make sure to restart the program if you ever choose to quit it or it chooses to crash.

To add an entry to system startup so it launches the program once you logged in and won't stop until you quit, do this:

  • Go to Unity Dash, type and look for "Startup Applications"
  • Click Add
  • Name: Docky or whatever you like
  • Command: /bin/bash ~/process_monitor.sh docky
  • Comment: Whatever you like

Make sure the new entry is checked. Log back out and in and you see docky all the time.

share|improve this answer

The ./process_monitor.sh works great.

But only if i use Terminal, or yakuake...so i can just open a new shell, when i use "~/process_monitor.sh docky" or "/bin/bash ~/process_monitor.sh docky"

But if I go to the "Startup Applications", click add and follow these instructions nothing happens when my Computer is starting up. I still have to run that command manually. And it won work, when i put in /home/"username"/process_monitor.sh docky, too.

I found, or created a solution (which hasn't been posted somewhere) to get it autostarted.

Instead of using the ~/process_monitor.sh docky create a new textfile:

  • gedit ~/start.sh
  • type following

#!/bin/bash

~/process_monitor.sh docky

done

  • Save file
  • Set permission:

chmod a+x ~/start.sh

Now you can run the program in your terminal/yakuake or whatever you prefer to use:

~/start.sh

and it will start the ~/process_monitor.sh docky. So it'll get startet and restarted if crashes.

You can choose any name you like for "process_monitor.sh" and "start.sh" only .sh is important. But be sure to change it in your textfiles as well.

Now go to your Dash, type in and open "Startup Applications".

  • Delete othe set Docky Startup settings
  • Create a new one
  • Name: Docky or whatever you want to name it
  • Command: /home/"your username"/start.sh (for me for ex. /home/kevin/startup.sh)
  • Comment: Whatever you like.
  • Go to your Docky settings and disable "Start at login"

Now you can restart your Computer and test it.

Videotutorial

share|improve this answer
    
Why not just create a (symbolic) link to process_monitor.sh? No file editing or permission changes required. –  David Foerster Nov 1 at 11:16
    
what do you mean with symbolic link? –  Kevin Nov 1 at 15:04
    
This: ln -s process_monitor.sh start.sh or ln -s ~/process_monitor.sh ~/Desktop/ –  David Foerster Nov 1 at 18:27

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.