Symlink no diretório init.d é substituído pelo arquivo regular após o sistema de reinicialização

5

Eu criei o symlink no diretório init.d : ln -s /myservice.jar /etc/init.d/myservice .

Após o symlink do sistema de reinicialização, ele é substituído pelo arquivo normal.

ls -l /etc/init.d/myservice output antes da reinicialização:

lrwxrwxrwx 1 root root 30 Mar 31 12:34 /etc/init.d/myservice -> /myservice.jar

Após a reinicialização:

-rwxrwxrwx 1 root root 41912304 Mar 31 12:40 /etc/init.d/myservice.jar

Por que isso está acontecendo?

upd. No servidor é usado o ISPmanager, isso pode ser um problema?

    
por Nick 31.03.2017 / 12:10

2 respostas

2

o que acontece se você executar

$ java -jar /etc/init.d/myservice

Funciona como esperado? E isso acontece para substituir myservice por myservice.jar nesse exato momento da execução do comando java -jar ? Se assim for, então temos uma pista sobre o comportamento misterioso que você descreveu.

Os arquivos Jar são projetados para serem portáveis, enquanto os links simbólicos certamente não são, então eu esperaria que esse comportamento fosse um resultado direto de alguma correção automática do lado do Java para satisfazer ansiosamente suas necessidades de caminho de classe.

Atenciosamente, Micha

    
por 02.04.2017 / 17:13
2

service myservice start iniciará sua inscrição? ( service myservice.jar start )

mais importante, service myservice stop interromperá sua inscrição?

O arquivo

em /etc/init.d são arquivos de serviços.

  1. Eles devem ser chamados com start|stop|status|restart como único argumento. ( | representa ou)

  2. Eles devem estar ligados de /etc/rcX.d , onde X está no nível de execução (0 a 6).

  3. furthemore, alguma indicação diz quando iniciá-los (antes ou depois do sistema de arquivos estar ativo? antes ou depois que a rede esteja ativa? database? webserver?), assim o rcinit irá analisá-los.

por 02.04.2017 / 22:34