___ tag123commandline ___ Perguntas sobre como usar a interface da linha de comandos (CLI). ___ tag123session ___ session management é o processo de acompanhar a atividade de um usuário em sessões de interação com o sistema de computador ___ qstntxt ___

Eu tenho um script que faz alguma contabilidade. Essa escrituração é feita após um intervalo de tempo especificado, digamos 30 minutos.

Eu quero que o script esteja ativo a partir do momento em que um usuário efetua login até que o usuário efetue logoff.

No momento, o script é assim:

%pre%

Eu não sei como posso configurar o meu sistema para iniciar automaticamente a execução deste script (especialmente em um modo multi-threaded desde o script nunca vai parar).

Outro problema é como esse script deve terminar sua execução. Basicamente, o material deve ser feito de forma atômica: melhor não fazer do que um usuário que faz logoff no meio da execução. Além disso, o script não deve parar o processo de logoff até que todo o script seja executado (algo que nunca acontecerá).

Como posso alcançar esses dois objetivos?

Eu sei que o script não é tão preciso com o tempo (já que o material em si levará alguns segundos, depois de um tempo, o loop não será executado a cada 30 minutos), mas isso não importa muito.

    
___ answer314734 ___

Verifique esta postagem para ver como executar um script na inicialização (depois de fazer login na GUI).

Em relação à segunda parte da solicitação, não acho que você encontrará uma maneira fácil de impedir o processo de logoff. Algo fácil que você pode fazer é enviar algumas notificações na tela quando o tempo de descanso terminar:

%pre%     
___

3

Eu tenho um script que faz alguma contabilidade. Essa escrituração é feita após um intervalo de tempo especificado, digamos 30 minutos.

Eu quero que o script esteja ativo a partir do momento em que um usuário efetua login até que o usuário efetue logoff.

No momento, o script é assim:

#!/bin/sh
while true
do
    #do some stuff
    sleep 1800
done

Eu não sei como posso configurar o meu sistema para iniciar automaticamente a execução deste script (especialmente em um modo multi-threaded desde o script nunca vai parar).

Outro problema é como esse script deve terminar sua execução. Basicamente, o material deve ser feito de forma atômica: melhor não fazer do que um usuário que faz logoff no meio da execução. Além disso, o script não deve parar o processo de logoff até que todo o script seja executado (algo que nunca acontecerá).

Como posso alcançar esses dois objetivos?

Eu sei que o script não é tão preciso com o tempo (já que o material em si levará alguns segundos, depois de um tempo, o loop não será executado a cada 30 minutos), mas isso não importa muito.

    
por Willem Van Onsem 06.02.2013 / 04:39

1 resposta

1

Verifique esta postagem para ver como executar um script na inicialização (depois de fazer login na GUI).

Em relação à segunda parte da solicitação, não acho que você encontrará uma maneira fácil de impedir o processo de logoff. Algo fácil que você pode fazer é enviar algumas notificações na tela quando o tempo de descanso terminar:

#!/bin/sh
while true
do
    notify-send -i "$([ $? = 0 ] && echo terminal)" "Updating bookkeeping!"
    #do some stuff
    notify-send -i "$([ $? = 0 ] && echo terminal)" "Update of bookkeeping will start again in 30 minutes."
    sleep 1800
done
    
por Radu Rădeanu 30.06.2013 / 20:49