每次升级 apt 时都会重新启动服务

每次升级 apt 时都会重新启动服务

每次我运行apt upgrade并实际升级时,我创建的服务都会重新启动。通常,我会收到此消息

┌────┤ Daemons using outdated libraries ├─────┐
│                                             │
│                                             │
│ Which services should be restarted?         │
│                                             │
│    [ ] unattended-upgrades.service          │
│    [*] wildfly.service                      │
│                                             │
│                                             │
│          <Ok>              <Cancel>  

这似乎与 needrestart 有关,请参见下面的输出:

$sudo needrestart -u NeedRestart::UI::stdio -r l

Scanning processes...
Scanning candidates...
Scanning linux images...

Running kernel seems to be up-to-date.

Services to be restarted:
 systemctl restart wildfly.service

这是服务配置:

[Unit]
Description=WildFly Application Server
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=wildfly
Group=wildfly

StandardOutput=null

ExecStart=/opt/wildfly/wildfly-26.1.1.Final/bin/standalone.sh
ExecReload=/opt/wildfly/wildfly-26.1.1.Final/bin/jboss-cli.sh --connect --commands="reload"
ExecStop=/opt/wildfly/wildfly-26.1.1.Final/bin/jboss-cli.sh --connect --commands="shutdown"

[Install]
WantedBy=multi-user.target

我需要做哪些更改以便该服务将来不会不必要地重新启动?

答案1

这是由于 wildfly 临时部署文件夹中的 java 存档 (jar) 文件造成的。可以通过在详细模式下运行 needrestart 来查看:

sudo needrestart -b -v

由于我的自定义服务不需要在升级时重新启动,因此我通过创建一个wildfly.conf文件来添加例外/etc/needrestart/conf.d/

$nrconf{blacklist_rc} = [
    q(^wildfly) ,
];

注:我的想法来自Tomcat 中的相关问题

相关内容