This file is indexed.

/usr/share/doc/needrestart/README.Interp.md is in needrestart 2.11-3+deb9u1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
needrestart - interpreter support
=================================

Needrestart checks running processes for using obsolete binaries. If no
obsolete binary was found needrestart scans for known interpreters.
There are special packages (NeedRestart::Interp::*) implementing the
source code file list extraction. The executable (/proc/<pid>/exec) is
used to detect the running interpreter.

Whenever source files where located their ctime values are retrieved. If
any of the source files has been changed after process creation time
a restart of the pid is triggered. This is no perfect valuation since
there are no inode information like for loaded binary objects nor has
needrestart any chance to get a verified list of sourced files..


NeedRestart::Interp::Java
-------------------------

Recognized binaries:	/.+/bin/java
Find source file by:	n/a

Try to detected loaded \.(class|jar) files by looking at open files. This
approach will not reliably detect loaded java files. Finding the original
command used to launch a java program is not that easy. Since there is no
shebang we will not find any data about the original command in /proc/$PID.

Running on systemd will allow us to find the service name due to the
cgroup name - seems to work for java daemons like tomcat6.


NeedRestart::Interp::Perl
-------------------------

Recognized binaries:	/usr/(local/)?bin/perl
Find source file by:	command line interpretation

We are using `Module::ScanDeps` to find used packages. This should work on
any static loaded packages, dynamic stuff will fail.


NeedRestart::Interp::Python
---------------------------

Recognized binaries:	/usr/(local/)?bin/python.*
Find source file by:	command line interpretation

The source file is scanned for 'import' and 'from' lines. All paths in
`sys.path` are scanned for the module files. This should work on any
static loaded modules.


NeedRestart::Interp::Ruby
-------------------------

Recognized binaries:	/usr/(local/)?bin/ruby.*
Find source file by:	command line interpretation

The source file is scanned for 'load' and 'require' lines. All paths in
`$:` are scanned for the module files. This should work on any
static loaded modules.