init.d / rc2.d é executado duas vezes, às vezes

1

Eu tenho um script de inicialização, que às vezes é executado duas vezes (alguns segundos de intervalo) na inicialização do sistema (Ubuntu 16.04.3 LTS). Às vezes só é executado uma vez! O script está localizado em /etc/init.d/TEST e eu tenho um link simbólico /etc/rc2.d/S99TEST que aponta para o script.

O problema é que, na inicialização do sistema, o script é executado algumas vezes, com uma pausa de alguns segundos entre eles. Como posso depurar isso? Eu não vejo menção do nome do script em qualquer um dos logs do sistema (/ var / log / *). Eu estou perdido.

Aqui está o script:

#!/bin/bash

### BEGIN INIT INFO
# Provides:          test_boot
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: test_boot
# Description:       test_boot app
### END INIT INFO

exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>>/home/username/TEST.log 2>&1

echo "---"
echo "---"
echo "Starting: $(date)"
sleep 2
echo "User: $(whoami)"
echo "Caller: $(ps -o args= $PPID)"
sleep 2
echo "Done: $(date)"

Aqui está o arquivo TEST.log após uma inicialização limpa:

---
---
Starting: Mon Feb 12 21:26:35 UTC 2018
User: root
Caller: /sbin/init tegra_keep_boot_clocks
Done: Mon Feb 12 21:26:39 UTC 2018
---
---
Starting: Mon Feb 12 21:26:59 UTC 2018
User: root
Caller: /sbin/init tegra_keep_boot_clocks
Done: Mon Feb 12 21:27:03 UTC 2018

Obrigado!

    
por logidelic 12.02.2018 / 22:37

1 resposta

1

Seu script não está verificando entradas, como a ação passada. Veja a documentação em /etc/init.d/README , /etc/init.d/skeleton e alguns dos outros scripts como /etc/init.d/kmod para avaliar qual ação está sendo passada para o script na execução (em ) e tome a resposta apropriada à ação.

    
por Joe 13.02.2018 / 15:49