Se um trabalho launchd tem um StartInterval de 600 e já faz "algum tempo" desde que o plist foi carregado.
Como se pode determinar quanto tempo resta até a próxima execução agendada?
Realmente depende de por que você se importa (inerentemente, você não deveria, ou mais provavelmente, há uma maneira melhor de fazê-lo). Tudo se resume ao seu script ser mais inteligente. Solte um arquivo turd ou use o script para adiar até a próxima execução ou entrar em um padrão de retenção.
Você não pode. Na verdade, o launchd nem garante um intervalo de exatamente 600 segundos, apenas fecha.
A melhor maneira de fazer algo semelhante é fazer com que sua tarefa launchd toque em um arquivo, de preferência em / var / tmp
fonte