Existe uma maneira elegante de iniciar um programa em determinado momento após a inicialização / tempo de inicialização atrasada?

2

Existe alguma maneira elegante de iniciar um programa 5 minutos após a inicialização?

por exemplo, iniciar:

  1. Iniciar o Chrome 5 minutos após o arranque
  2. Inicie o Outlook 15 minutos após a inicialização
  3. Inicie o BlueStacks 20 minutos após o boot

obrigado

Encontrei o atraso da inicialização, mas estou pensando se há outras soluções ...

    
por user2635566 30.05.2014 / 21:24

2 respostas

3

no Windows 7;

Start

Task Scheduler (na barra de pesquisa do menu Iniciar)

Create Task

Triggers tab

New

Comece a tarefa: At logon / At startup

Marque Delay task for:

Digite 5 minutes (ou qualquer horário para cada tarefa)

OK

Actions tab

Ação: Start a program

Browse

Escolher aplicativo

OK

General tab

Escolha um nome

OK

Concluído

    
por 30.05.2014 / 21:36
2

Se o Windows:

Agendador de Tarefas é sua melhor aposta e este é um bom recurso (e sim, copiei esses links dos comentários sobre a questão Crédito onde o crédito é devido).

Mas, na verdade, o "agendador de tarefas" do Google deve fornecer várias informações úteis. Como o Agendador de Tarefas vem por padrão com o Windows, e é disponibilizado pela Microsoft, favorece os links para os sites da Microsoft (já que a documentação deles será mais extensa).

edit: Eu também gostaria de me referir à resposta de Jonny Wright, pois ela oferece uma explicação útil e clara.

Se Linux / UNIX

Você vai querer usar cron ou at . Esteja ciente que a sintaxe do crontab para crontab por usuário não é a mesma que para global crontab , e se você colocar scripts em /etc/cron.daily/ ou um dos outros diretórios cron específicos de freqüência você pode usar qualquer formato de script .

Você também pode simplesmente adicionar a funcionalidade que deseja a um dos scripts init (ou, melhor ainda, escrever seu próprio script de inicialização) que bifurque um subprocesso que executa a ação desejada.

Por exemplo, colocar um arquivo como o abaixo em /etc/init.d faria com que ele fosse executado no momento da inicialização:

#!/usr/bin/env bash
mything ()
{
    # Wait five minutes; 5 * 60 seconds
    sleep $(( 5 * 60 ))
    # Do the thing you want to do
    exampleprogram exampleArg1 exampleArg2
}
mything & >/dev/null

Todos esses links, a propósito, são apenas para manpages, então para acessá-los você usaria: man 1 crontab (para sintaxe crontab por usuário), man 5 crontab (para sintaxe global crontab), man cron (para sintaxe cron) e man at (para na sintaxe).

De qualquer maneira

Esteja ciente de que, para agendar um evento em relação ao tempo de inicialização da máquina, você precisará de privilégios administrativos / superusuário, enquanto não precisará de privilégios de administrador para agendar um evento relativo ao seu próprio tempo de login.

    
por 30.05.2014 / 21:46