Configurar duas instâncias de um serviço para executar no Linux

0

Essencialmente, o que eu estou tentando entender é como modificar alguns scripts que encontrei para executar duas instâncias simultâneas de um serviço em uma máquina Linux Mint que eu tinha por aí.

Configurando a primeira instância do serviço Eu usei as instruções encontradas aqui:

link

Agora eu estou tentando pegar essas instruções e alterá-las para essencialmente criar um segundo serviço usando os mesmos scripts.

O serviço não será iniciado e permanecerá assim, embora tenha ocorrido antes de uma reinicialização total da máquina. Eu coloquei o segundo arquivo .service no mesmo lugar que o primeiro, '/ etc / systemd / system /'. O conteúdo do arquivo de serviço está abaixo.

[Unit]
Description=server daemon for whim

[Service]
Type=forking
User=whim
KillMode=none
ExecStart=/usr/bin/screen -dmS whim /bin/bash -c "/opt/terraria/TerrariaServer.bin.x86_64 -config /opt/terraria/whimserverconfig.txt"
ExecStop=/usr/local/bin/whimd exit

[Install]
WantedBy=multi-user.target

Agora, o motivo pelo qual reiniciei a máquina, em primeiro lugar, foi outro erro. Durante o curso das instruções aqui eu configurei um script para administração básica. É colocado no mesmo local que o primeiro. '/ usr / local / bin /' O conteúdo do arquivo está abaixo.

#!/usr/bin/env bash

send="'printf \"$*\r\"'"
attach='script /dev/null -qc "screen -r whim"'
inject="screen -S whim-X stuff $send"

if [ "$1" = "attach" ] ; then cmd="$attach" ; else cmd="$inject" ; fi

if [ "'stat -c '%u' /var/run/screen/S-whim/'" = "$UID" ]
then
    $cmd
else
    su - whim-c "$cmd"
fi

O problema, antes de o serviço deixar de funcionar, era que eu nunca poderia anexar à tela o novo serviço de capricho.

Então, minha pergunta é esta:

Será que eu errei ao modificar um desses dois arquivos ou estou sentindo falta de algo ainda mais básico?

    
por GreatMagusKyros 25.09.2017 / 17:53

1 resposta

2

Você excluiu o espaço em branco a seguir quando alterou os nomes, transformando terraria /bin/bash em whim/bin/bash em um exemplo. Isso fez com que várias partes de sua unidade de serviço e arquivo de script estivessem erradas.

O design todo parece bastante frágil, executando screen como um serviço de todo o sistema (e as alças que isso implica) para executar um programa que exige que ele seja interativo como um serviço, mas isso não é sua tarefa. .

    
por 25.09.2017 / 21:15