Mate todas as instâncias de um serviço

0

Consegui criar um script de serviço systemd, que permite que meu aplicativo seja executado em segundo plano ...
Este systemdscript usou% i para iniciar instâncias específicas desse serviço.
Estou procurando uma maneira de parar todas as instâncias do meu script.
sudo service servicename@* stop não está funcionando ...
ExecStart executa um script que executa um aplicativo java

Qualquer ajuda é apreciada

    
por RoiEX 19.02.2017 / 20:17

3 respostas

1

O comando que você está procurando é:

sudo killall nameofservice

Você pode usar a guia para preencher automaticamente.

    
por Izzno 19.02.2017 / 20:20
1

É melhor você usar

sudo killall -9 nameofservice

É claro que você precisa saber o nome do serviço que não é necessariamente igual ao nome do script init.d .

O parâmetro -9 do comando killall é explicado na página de manual

man 7 signal

Basta digitar na linha de comando para obter:

First the signals described in the original POSIX.1-1990 standard.

   Signal     Value     Action   Comment
   ──────────────────────────────────────────────────────────────────────
   SIGHUP        1       Term    Hangup detected on controlling terminal
                                 or death of controlling process
   SIGINT        2       Term    Interrupt from keyboard
   SIGQUIT       3       Core    Quit from keyboard
   SIGILL        4       Core    Illegal Instruction
   SIGABRT       6       Core    Abort signal from abort(3)
   SIGFPE        8       Core    Floating point exception
   SIGKILL       9       Term    Kill signal
   SIGSEGV      11       Core    Invalid memory reference
   SIGPIPE      13       Term    Broken pipe: write to pipe with no
                                 readers
   SIGALRM      14       Term    Timer signal from alarm(2)
   SIGTERM      15       Term    Termination signal
   SIGUSR1   30,10,16    Term    User-defined signal 1
   SIGUSR2   31,12,17    Term    User-defined signal 2
   SIGCHLD   20,17,18    Ign     Child stopped or terminated

   SIGCONT   19,18,25    Cont    Continue if stopped
   SIGSTOP   17,19,23    Stop    Stop process
   SIGTSTP   18,20,24    Stop    Stop typed at terminal
   SIGTTIN   21,21,26    Stop    Terminal input for background process
   SIGTTOU   22,22,27    Stop    Terminal output for background process

   The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored.
    
por zx485 19.02.2017 / 20:34
0

Obrigado por todas as suas sugestões, mas encontrei uma resposta aqui: link
O problema era que meu asterisco foi escapado por bash ...
Ao usar sudo service 'servicename@*' stop , tudo funciona conforme o esperado

    
por RoiEX 19.02.2017 / 21:03