O que você está sugerindo não é trivial. Existem algumas abordagens:
-
Faça com que seu aplicativo executado na caixa do Windows ouça mensagens que solicitem a reinicialização. Quando receber essa mensagem, reinicie. Há várias maneiras de ouvir essa mensagem e escolher a mais fácil, com base em como você criou o aplicativo. Por exemplo, comece a ouvir em uma porta conhecida e, quando receber uma mensagem que diga "restart", faça isso. Isso requer a capacidade de alterar o aplicativo, obviamente. Uma variante disso é criar outro aplicativo / serviço que apenas escute as mensagens de reinicialização e interrompa / inicie o aplicativo original. Isso pode ser desejado se você não puder alterar seu aplicativo original ou preferir não alterar.
-
Use algo no Windows para reiniciar o aplicativo. Existem formas construídas (por exemplo, WMI) para reiniciar serviços e, provavelmente, para iniciar e parar processos. Isso é mais difícil porque você quer fazer isso de uma caixa que não seja do Windows. Há uma ótima ferramenta 'psexec' link que torna muito fácil fazer essas coisas remotamente, e Há um link para a versão Linux, para que funcione bem. Isso não exigirá programação, mas mais confusão com configuração e autenticação ... talvez, ou pode funcionar imediatamente. Você chamaria psexec do seu script php com os argumentos de linha de comando necessários para fazer com que ele reiniciasse seu aplicativo do Windows.