Mac OS X: no comando não funciona

37

Vou agendar um trabalho usando o comando. Aqui eu tentei o seguinte comando:

$ at now + 1 minute
echo 'Test at command'
<EOD>

Eu vi o trabalho ser agendado usando -l. No entanto, não vi nenhum eco.

Acho que posso precisar adicionar o usuário ao arquivo at.allow. Não consigo encontrar at.allow no meu Mac (Snow Leopard). Não tenho certeza do que preciso fazer para testar isso no comando?

    
por David.Chu.ca 19.09.2009 / 06:24

5 respostas

38

Para ativar o daemon atrun necessário, como man atrun diz, execute:

launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

como raiz (por exemplo, via sudo ). Depois de fazer isso, /var/at/ será o diretório principal (embora a maneira mais simples seja usar at como raiz - por exemplo, mais uma vez, por sudo ! -).

    
por 19.09.2009 / 06:46
11

No Snow Leopard você precisa:

  1. Edite o /System/Library/LaunchDaemons/com.apple.atrun.plist , altere o nó filho desativado de true - > false .

  2. Descarregar o atual /System/Library/LaunchDaemons/com.apple.atrun.plist com:

    sudo launchctl unload -F /System/Library/LaunchDaemons/com.apple.atrun.plist
    

    Em seguida, carregue a versão editada

    sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
    
  3. Teste com o que funciona:

    echo blah | at now+1
    
  4. Caso o eco falhe por um motivo diferente, você deve conseguir ver pelo menos a fila sendo limpa com:

    atq
    
por 28.05.2010 / 07:53
5

Eu tentei isso no OS X Lion e pareceu funcionar.

Primeiro, ative o atrun deamon:

launchctl load -w
/System/Library/LaunchDaemons/com.apple.atrun.plist

Em seguida, adicione [seu nome de usuário] a /var/at/at.allow .

Quando executado, você receberá a saída em /var/mail/[your username]

Acho que os itens na fila com batch demoram alguns minutos para serem realmente executados.

    
por 24.05.2012 / 19:42
2

Outros responderam que o em está desativado no Mac OS X, e eu não sei sobre isso, mas há outro problema: onde você espera que seu echo comando para imprimir sua mensagem? Em outros sistemas Unix que eu usei ele não imprime na mesma janela do shell onde você deu o comando em . Lembre-se de que quando o trabalho at é executado, você pode nem estar mais conectado.

Tente escrever algo em um arquivo e veja se esse arquivo aparece no momento certo.

    
por 19.09.2009 / 07:01
0

Minha instalação do OS X (10.4) diz em man at :

NOTE
     at, batch, atq, atrm are all disabled by default on Mac OS X.

Você ativou atrun de acordo com as instruções?

    
por 19.09.2009 / 06:30

Tags