Meu primeiro post, então aprendendo este sistema de postar askubuntu. Estou tentando automatizar meu servidor Ubuntu 14.04LTS usando os aplicativos de inicialização do Ubuntu. Eu automaticamente inicio vários scripts bash dentro das janelas do gnome-terminal quando o pc é reiniciado. No entanto, meu programa C sai executando após cerca de 10 minutos a uma hora ao iniciá-lo através dos aplicativos de inicialização.
Aqui está um exemplo de um Comando de aplicativos de inicialização que funciona:
gnome-terminal -x sh -c "notifyserial.sh; #!/bin/bash"
(funciona bem, scripts continuam sendo executados, processos de monitoramento, janela de terminal permanece ativa)
Meu "programa c" chamado "serial" é iniciado e está atualizando a declaração de impressão como abaixo:
Command: 14 01 - Cashless Reader Enable
Starting main loop
********************************************************************
Started **serial** program at : Wed Sep 27 17:19:27 2017
********************************************************************
Após cerca de 10 a 20 minutos, o programa pára e aparece em amarelo na parte superior da janela do terminal:
The child process exited normally with status 139.
Dentro de "Aplicativos de Inicialização" Eu tentei adicionar os seguintes comandos, reiniciar o computador, depois esperar e ver se o programa "serial" continua a rodar indefinidamente, mas isso não acontece:
gnome-terminal -x sh -c "sudo ./myprogram"
e
gnome-terminal -e "sudo ./myprogram"
e
gnome-terminal -x sh -c "startserial.sh; #!/bin/bash" && DISPLAY=:0 && wmctrl -r :ACTIVE: -b toggle,shaded
Quando tenho o perfil do terminal configurado para "Manter o terminal aberto", recebo isto:
The child process exited normally with status 139.
Quando tenho o perfil do terminal configurado para "Sair do terminal", a janela do terminal desaparece.
Eu tentei colocar os vários comandos em um script bash, já que meus outros scripts continuam trabalhando indefinidamente como deveriam. Eu o bash script startserial.sh
tentei cada uma dessas linhas de comando reiniciadas individualmente e esperei os resultados:
#!/bin/bash
#gnome-terminal -e "/home/cpi-machine3/serial_ver2_machine3_75centair_3_95" --window-with-profile-internal-id=b9dc7b22-e86b-4ab0-9cdd-4470e1ed6b9
#/home/cpi-machine3/serial
#gnome-terminal -x sh -c "sudo ./serial"
Eu iniciei este programa com o terminal gnome abrindo o terminal: clicando no ícone do terminal ou por ctrl + alt + t e digite:
sudo ./serial
Em seguida, pressione enter.
Meu programa é executado por semanas. O terminal Gnome permanece ativo mostrando todos os comandos de impressão para a tela conforme eu programei.
Meu objetivo é ter o programa c, "serial" iniciar automaticamente e continuar rodando quando o PC for reiniciado a partir de: 1. uma queda de energia 2. Eu reinicio remotamente o pc com o Teamviewer ou 3. reinicie através do Gnome Schedule v2.2 em um cronograma recorrente.
Respostas:
Tentei isso no terminal, mas ele parou após cerca de 20 minutos (mesmo problema):
gnome-terminal -x bash -c "sudo /home/cpi-machine3/serial"
A partir do feedback eu tentarei este comando no script bash:
gnome-terminal -x bash -c "sudo /home/cpi-machine3/serial"
No próximo terminal você foi perguntado sobre a senha do root e digite-a, estou correto lá?
Agora não digitei um comando e não preciso mais digitar a senha.
O seu programa deveria ser executado como root?
Eu não sei. "serial" reside no meu diretório '/ home'. E eu começo de lá. Ele não roda a menos que eu use 'sudo'
é para ser um serviço de sistema? Não tenho certeza do que isso significa.
Este é um novo problema: eu iniciei meu "serial" normalmente abrindo uma janela de terminal (clicando no ícone do terminal) e agora meu programa está terminando. O prompt de comando apareceu apenas pressionando ctrl + c para sair do meu programa. Isso não aconteceu antes, em qualquer um dos meus PCs executando este programa.
Command: 14 01 - Cashless Reader Enable
Starting main loop
********************************************************************
Started **serial** program at : Wed Sep 27 17:44:11 2017
********************************************************************
cpi-machine3@CPI-Machine3:~$