Script to shut down the computer when closing a certain program

2

How do I create a script so that when the rdesktop window is closed the computer shuts down?

    
asked by anonymous 18.03.2015 / 20:47

2 answers

0

André Cabral

Would it close a program or a window?

Considering any program:

Create a file with the name you want, the examples below refer to ubuntu:

touch desliga_automatico

Put the permission to run:

sudo chmod +x desliga_automatico

Put the code below:

#!/bin/sh
PROGRAMA='rdesktop' #nome do programa que deseja monitorar

while [ TRUE ] 
do
    if ps ax | grep -v grep | grep $PROGRAMA > /dev/null
    then
        #echo "$PROGRAMA está rodando"
    else
        #echo "$PROGRAMA não está rodando"
        sudo reboot 
    fi
    # colocamos o sleep para o processador ter tempo para realizar outras tarefas
    # você pode colocar o tempo que achar melhor (em segundos)
    sleep 120
done

In case of being a window and not a program:

#!/bin/sh
PROGRAMA='rdesktop'

while [ TRUE ]
do

    if xlsclients | grep -v grep | grep $PROGRAMA > /dev/null
    then
        #echo "$PROGRAMA está rodando"
    else
        echo "$PROGRAMA não está rodando"
        sudo reboot
    fi
    # colocamos o sleep para o processador ter tempo para realizar outras tarefas
    # você pode colocar o tempo que achar melhor (em segundos)
    sleep 120
done

If this meets your need you can put it in:

sudo mv desliga_automatico /etc/init.d/ 

To start it every time the computer starts

I hope I have helped.

    
14.05.2015 / 01:53
0
#!/bin/sh
PROGRAMA='rdesktop'

while [ TRUE ]
do

    if xlsclients | grep -v grep | grep $PROGRAMA > /dev/null
    then
        echo "$PROGRAMA está rodando"
    else
        echo "$PROGRAMA não está rodando"
        sudo reboot
    fi
    # colocamos o sleep para o processador ter tempo para realizar outras tarefas
    # você pode colocar o tempo que achar melhor (em segundos)
    sleep 120
done

PS: There was a commented line before Else so the error code is now okay!

    
26.01.2017 / 18:21