Como executar um script após 20 segundos no login?

6

Eu quero executar um script bash como:

#!/bin/bash          
echo 'cpu limit bomi player at 40%'
cpulimit -v -e bomi -l 40  

Apenas 20 segundos após o login no meu usuário. Você pode por favor me ajudar a fazer isso? Eu pesquisei no Google e fiz o que eles disseram, mas não funcionou para mim.

Se for possível que o script bash seja executado em uma nova janela de terminal que exibirá a saída, por favor, diga-me o que tenho que fazer para conseguir isso.

    
por Mahdi 10.04.2015 / 08:13

3 respostas

8

Uma maneira simples de fazer isso é adicionar essas linhas ao rc.local em seu sistema.

Para isso, você precisa dos direitos root ou sudo. Você pode editar o arquivo com o seu editor de texto favorito, por exemplo, vim :

vim /etc/rc.local

(sleep 20
echo 'cpu limit bomi player at 40%'
cpulimit -v -e bomi -l 40) &

A primeira linha diz ao computador para esperar 20 segundos, as outras 2 linhas são do seu script e o & no final diz ao computador para executá-lo em um sub shell para que seu computador não espere o função para terminar e continuará com o arranque.

Você deve adicionar essas linhas em qualquer lugar antes da chamada exit 0 no final desse script, pois isso fará com que ele saia e ignore todas as linhas depois disso.

    
por Bruno Pereira 10.04.2015 / 08:26
-1

Você também pode inserir isso no terminal:

crontab -e

e, em seguida, digite isto em:

@reboot /path/to/script

e no script, digite no começo:

sleep 20

e pode funcionar bem assim.

    
por Michael 10.04.2015 / 14:55
-1

Outra sugestão é criar script bash executável. Vamos chamá-lo onboot.sh e salvá-lo em seu diretório home

~ / onboot.sh

#!/bin/bash
sleep 20      
echo 'cpu limit bomi player at 40%'
cpulimit -v -e bomi -l 40  

torne-o executável executando este comando

chmod +x ~/onboot.sh

adicione essa linha ao seu ~ / .bashrc

~/onboot.sh &

Toda vez que você criar uma nova sessão de terminal, ela executará ~/.bashrc , que então executará seu arquivo ~/onboot.sh .

EDIT: Esqueceu de mencionar que isso só será executado para esse usuário específico. não para todos os usuários no sistema.

    
por Rowan Hughes 12.04.2015 / 17:36