Cria processo persistente sem inittab

2

Eu tenho um servidor virtual rodando o Ubuntu 14.04 LTS x64 e quero criar um processo persistente que reinicia com o sistema e quando ele falha.

Para fazer isso, adicionei as seguintes linhas ao "inittab" no diretório-etc:

test:5:respawn:echo "HELLO TEST" > /test.log
sometestname:234:/var/path/to/process/myprocess

Depois de executar "init q" ou "telinit q", nada acontece. O arquivo test.log não é criado, o processo não é iniciado (não está listado ao usar o pstree) e não há nada no syslog. Reiniciar o servidor também não ajuda.

Eu também tentei usar o systemd para criar um novo serviço, criando um novo "myprocess.service" em "/ etc / systemd / system /" com estes comandos:

[Unit]
Description=Process Name

[Service]
ExecStart=/var/path/to/process/myprocess
Restart=restart-always

[Install]
WantedBy=multi-user.target

Novamente, depois que o servidor reiniciar, o processo não estará lá.

Existem outras maneiras de criar um processo persistente no Ubuntu?

Além disso, o processo atua como um servidor, mas também pode aceitar entradas do usuário. Como ele será executado como um processo em segundo plano na maioria das vezes, é possível "anexá-lo" ao console principal por capricho para executar alguns comandos e desanexá-lo posteriormente? Estou usando putty para acesso remoto ao servidor.

    
por user225183 11.08.2015 / 15:15

2 respostas

0

Você pode usar o crontab. O Crontab pode iniciar um processo a cada minuto, o processo deve verificar se já está em execução e sair se estiver. link

    
por 11.08.2015 / 16:55
0

O inittab saberá que o processo está saindo muito rápido e parará. Tente um pequeno script de shell que aguarde 60 segundos antes de sair. Seu comando echo não funcionará corretamente.

    
por 11.08.2015 / 16:58