[Unit] Description=TOTVS DBAccess Daemon # Garante que inicie após a rede estar pronta After=network.target [Service] # DBAccess inicia e roda em background, então 'forking' é obrigatório. Type=forking # Caminho do arquivo PID PIDFile=/var/run/totvsdbaccess.pid # 1. Defina o caminho ABSOLUTO para o diretório do DBAccess. # EXEMPLO: /opt/totvs/dbaccess DBACCESS_PATH=<${INSTALL_PATH}/dbaccess/> # Define a variável de ambiente crucial (LD_LIBRARY_PATH) Environment=LD_LIBRARY_PATH=${DBACCESS_PATH} # 2. DEFINA O USUÁRIO E GRUPO DE OPERAÇÃO # Fundamental para segurança e permissões de acesso. User= Group= # 3. Limites de Recursos (Substituem os comandos ulimit do script antigo) # Estes são os limites padrão do seu script, convertidos para o systemd: LimitNOFILE=32768 LimitSTACK=1M LimitRSS=2G LimitAS=2G # Comando de Início: Executa o binário do DBAccess em modo daemon. # Use 'dbaccess64' se for um binário 64-bit, ou 'dbaccess' se for 32-bit. ExecStart=/bin/bash -c "exec ${DBACCESS_PATH}/dbaccess daemon" # Comando de Parada: Envia o sinal de término (SIGTERM -15) para o PID monitorado ExecStop=/bin/kill -TERM $MAINPID # Configuração de reinicialização em caso de falha. Restart=on-failure RestartSec=5s [Install] # Habilita o serviço para iniciar no boot WantedBy=multi-user.target