Compilar pra rodar como serviço no Linux

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Compilar pra rodar como serviço no Linux

Mensagem por sygecom »

Olá Pessoal,

Alguém teria algum exemplo pra postar, de como compilar e rodar como serviço um binário em Linux ?

Nota: No windows estou usando o exemplo: \contrib\hbwin\tests\service.prg
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Compilar pra rodar como serviço no Linux

Mensagem por Kapiaba »

Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Compilar pra rodar como serviço no Linux

Mensagem por sygecom »

Não mestre, isso ainda exige que o executável esteja aberto no servidor ou na estação, preciso mesmo é deixar sem nada rodando, na tela, como serviço mesmo.
Tentei adicionar o danado com chmod no init.d, mas não sobe de jeito algum, vou ter que dominar esse trema na marra.

Código: Selecionar todos

ch mod +x / etc / init.d / binario
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Compilar pra rodar como serviço no Linux

Mensagem por Itamar M. Lins Jr. »

Ola!
Tem que compilar como GTNULL, para não ver a tela, e rodar como daemon.
Tem no hbNetIO, LetoDBf, hbhttpd... para vc ver como é, estes são mais complicados de entender pois usam TCP, sockets...
Mas basta criar um ;

Código: Selecionar todos

 FUNCTION MAIN 
 INKEY(0)
, e compilar com GTNULL, ai vc só mata ele pelo PID.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Compilar pra rodar como serviço no Linux

Mensagem por sygecom »

Olá Itamar,
Obrigado pela dica, onde exatamente coloco esse GTNULL ? tentei colocar no .hbp e deu erro de compilação.

Outra coisa, estou usando Harbour 3.2(atual git, por conselho do Alexander Kresin )
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
NiltonGM
Usuário Nível 3
Usuário Nível 3
Mensagens: 397
Registrado em: 05 Jun 2014 23:47
Localização: Caieiras/SP

Compilar pra rodar como serviço no Linux

Mensagem por NiltonGM »

sygecom escreveu:Olá Itamar,
Obrigado pela dica, onde exatamente coloco esse GTNULL ? tentei colocar no .hbp e deu erro de compilação.

Outra coisa, estou usando Harbour 3.2(atual git, por conselho do Alexander Kresin )
sysgecom, aprendi hoje com Itamar, é no comando da compiliação. Exemplo:

Código: Selecionar todos

hbmk2 aplicativo.prg -fullstatic -gtnull
O aplicativo roda mas Infelizmente esse comando não basta para executar como um serviço deixando o terminal livre, continuo a busca, no windows é mais fácil fazer o Harbour rodar como um serviço mas para o Linux não faço idéia, descobri que tem uma função "HB_BackGroundRun()" no Harbour para executar, vou pesquisar, se alguém já viu isso e sabe como fazer uma aplicação em Harbour rodar no LINUX como um SERIÇO de verdade com os comandos de gerenciamento de serviços como "$ sudo systemctl start aplicaition.service" nos avise por favor, ficaremos muito grato.
Nilton Medeiros
nilton@sistrom.com.br
Responder