
paulo1205
(usa Ubuntu)
Enviado em 13/08/2013 - 02:52h
Existem várias formas de fazer isso que você falou. Porém, seria interessante você dar mais detalhes sobre como as tarefas serão executadas (várias em paralelo, uma de cada vez, tempo de pausa entre elas etc.), se as tarefas tem de executar como threads num mesmo processo ou como processos filhos distintos, e em qual sistema operacional quer fazer isso (UNIX, Windows, MacOS, Android etc.), pois essas informações ajudam a escolher a melhor abordagem.
Técnicas que podem ser usadas: sinais, comunicação via sockets, fifos (
named pipes), memória compartilhada, semáforos, ou mesmo a simples existência de um determinado arquivo (que poderia ser criado/removido manualmente ou por outro programa).
No mundo UNIX, o utilitário
cron faz algo parecido, agendando até várias tarefas simultâneas, cada uma no seu próprio processo separado, e o programa pode terminar com o simples envio de um sinal de terminação para o seu processo.