needrestart

库更新后重启守护进程。「Restart daemons after library updates.」

Github星跟蹤圖

needrestart

About

needrestart checks which daemons need to be restarted after library
upgrades. It is inspired by checkrestart from the debian-goodies
package.

There are some hook scripts in the ex/ directory (to be used with
apt and dpkg. The scripts will call needrestart
after any package installation/upgrades.

needrestart should work on GNU/Linux. It has limited functionality on
GNU/kFreeBSD since /proc/<pid>/maps does not show removed file links.

Restarting Services

needrestart supports but does not require systemd (available since v0.6).
If systemd is used you should use libpam-systemd, too. If needrestart detects
systemd it will assume that libpam-systemd is used and relies on cgroup names
to detect if a process belongs to a user session or a daemon. If you do not
use libpam-systemd you should set $nrconf{has_pam_systemd} to 0 within
needrestart.conf.

If systemd is not available or does not return a service name needrestart
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:

  • dpkg
  • rpm
  • pacman

The service command is used to run the tradiditional System V init script.

Frontends

needrestart uses a modular aproach based on perl packages providing
the user interface. The following frontends are shipped:

  • NeedRestart::UI::Debconf using debconf
  • NeedRestart::UI::stdio fallback using stdio interaction

Kernel & Microcode

needrestart 0.8 brings a obsolete kernel detection feature. In needrestart
3.0 a processor microcode update detection feature for Intel
CPUs has been added.

Interpreters

needrestart 0.8 brings an interpreter scanning feature.
Interpreters not only map binary (shared) objects but also use plaintext
source files. The interpreter detection tries to check for outdated source
files since they may contain security issues, too. This is only a heuristic
and might fail to detect all relevant source files. The following interpreter
scanners are shipped:

  • NeedRestart::Interp::Java
  • NeedRestart::Interp::Perl
  • NeedRestart::Interp::Python
  • NeedRestart::Interp::Ruby

Containers

needrestart 2.1 detects some container technologies. If a
process is part of a container it might not be possible to restart it using
Sys-V/systemd.

There are special perl packages (NeedRestart::CONT::*) implementing the
container detection and restarting. The following container detectors
are shipped:

  • NeedRestart::CONT::docker
  • NeedRestart::CONT::LXC
  • NeedRestart::CONT::machined

Batch Mode

needrestart can be run in batch mode to use the results
within other programs or scripts.

There is also a nagios plugin mode available.

主要指標

概覽
名稱與所有者liske/needrestart
主編程語言Perl
編程語言Makefile (語言數: 3)
平台
許可證GNU General Public License v2.0
所有者活动
創建於2013-03-28 23:35:20
推送於2025-04-13 19:13:09
最后一次提交2025-04-13 21:12:44
發布數45
最新版本名稱v3.11 (發布於 2025-04-13 21:13:03)
第一版名稱v0.1 (發布於 2013-03-29 19:43:36)
用户参与
星數463
關注者數17
派生數78
提交數1.1k
已啟用問題?
問題數238
打開的問題數33
拉請求數96
打開的拉請求數1
關閉的拉請求數7
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?