终止服务的所有实例

终止服务的所有实例

我设法创建了一个 systemd 服务脚本,该脚本使我的应用程序能够在后台运行……
此 systemdscript 使用 %i 来启动此服务的特定实例。
我正在寻找一种方法来停止我的脚本的所有实例。
sudo service servicename@* stop不起作用……
ExecStart 运行一个运行 Java 应用程序的脚本

任何帮助表示感谢

答案1

您正在寻找的命令是:

sudo killall nameofservice

您可以使用 Tab 键来自动完成。

答案2

你最好使用

sudo killall -9 nameofservice

当然,您需要知道服务的名称,它不一定等于其init.d脚本名称。

-9该命令的参数killall说明在手册页中

man 7 signal

只要在命令行输入即可获得:

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.

答案3

感谢您的所有建议,但我在这里找到了答案:https://serverfault.com/a/797926
问题是,我的星号被 bash 转义了...
使用时sudo service 'servicename@*' stop一切都按预期工作

相关内容