Crie um serviço no linux usando o shell script

1

Eu quero criar um serviço no Linux, como fazemos no Windows. que eu posso começar ou parar com a ajuda de um script. o serviço tem que lançar um aplicativo de jogo que tem algumas dependências associadas a ele.

Basicamente eu quero um script em execução que crie um serviço no linux, este serviço basicamente lançará um aplicativo de jogo (o lançamento também é feito através de um script), então é como se o serviço tivesse que lançar um script.

Finalidade do serviço : gostaria que o serviço reiniciasse automaticamente o aplicativo caso ele falhasse. Conseguiu saber que o reinício automático da aplicação pode ser feito através de serviços

por favor me ajude neste eu sou novo no linux: (

    
por Varun 07.10.2011 / 07:23

1 resposta

4

Tenho a sensação de que você menciona apenas "serviço" porque no Windows é possível configurar um serviço para reiniciar automaticamente quando ele falha. Eu até acho que não seria fácil fazer um "aplicativo de jogo" arbitrário funcionar como um serviço no Windows, porque os serviços são executados com privilégios limitados.

Se você precisar de um script que reinicialize automaticamente um aplicativo se o último sair com um código de erro diferente de zero (ou seja, quando ele falhar), marque Anycorn responde a uma pergunta semelhante em stackoverflow . É muito simples e não envolve serviços.

Se você quiser instruções passo a passo, aqui o que eu faria:

crie um diretório chamado bin em sua pasta pessoal:

mkdir ~/bin

crie um script "startgame" nesse diretório:

touch ~/bin/startgame

abra-o em um editor de texto:

gedit ~/bin/startgame

digite o seguinte texto:

#!/bin/bash
while [ 1 ]; do /path/to/game/executable && break; done

salve o arquivo;

define o bit executável:

chmod +x ~/bin/startgame

execute o script digitando no terminal

startgame

Todos os itens acima podem ser obtidos sem terminal - ou seja, criar uma pasta usando o Nautilus, criar um arquivo, torná-lo executável; criar um atalho na área de trabalho, etc.

Se você estiver interessado em saber como o script funciona:

while [ 1 ]; do ... done

é um loop infinito

/path/to/game/executable

inicia o aplicativo e aguarda que ele termine (obviamente, você precisa alterá-lo para o caminho real do seu aplicativo)

command1 && command2

executa o comando1 e depois executa o comando2 somente se o comando1 terminar com um código de retorno zero (o que indica sucesso). Ou seja o loop só irá parar (instrução 'break') se o programa terminar sem um erro, caso contrário ele será reiniciado.

    
por Sergey 07.10.2011 / 07:49