capabilities.7, user_namespaces.7: Describe CAP_SETFCAP
[man-pages.git] / man1 / pldd.1
blob627afead9d7dd9f5f59d6a82ae4543727c238b19
1 .\" Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
2 .\"
3 .\" %%%LICENSE_START(VERBATIM)
4 .\" Permission is granted to make and distribute verbatim copies of this
5 .\" manual provided the copyright notice and this permission notice are
6 .\" preserved on all copies.
7 .\"
8 .\" Permission is granted to copy and distribute modified versions of this
9 .\" manual under the conditions for verbatim copying, provided that the
10 .\" entire resulting derived work is distributed under the terms of a
11 .\" permission notice identical to this one.
12 .\"
13 .\" Since the Linux kernel and libraries are constantly changing, this
14 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
15 .\" responsibility for errors or omissions, or for damages resulting from
16 .\" the use of the information contained herein.  The author(s) may not
17 .\" have taken the same level of care in the production of this manual,
18 .\" which is licensed free of charge, as they might when working
19 .\" professionally.
20 .\"
21 .\" Formatted or processed versions of this manual, if unaccompanied by
22 .\" the source, must acknowledge the copyright and authors of this work.
23 .\" %%%LICENSE_END
24 .\"
25 .TH PLDD 1 2020-11-01 "GNU" "Linux User Manual"
26 .SH NAME
27 pldd \- display dynamic shared objects linked into a process
28 .SH SYNOPSIS
29 .nf
30 .BI "pldd " "pid"
31 .BI pldd " option"
32 .fi
33 .SH DESCRIPTION
34 The
35 .B pldd
36 command displays a list of the dynamic shared objects (DSOs) that are
37 linked into the process with the specified process ID (PID).
38 The list includes the libraries that have been dynamically loaded using
39 .BR dlopen (3).
40 .SH OPTIONS
41 .TP
42 .BR \-? ", " \-\-help
43 Display a help message and exit.
44 .TP
45 .B \-\-usage
46 Display a short usage message and exit.
47 .TP
48 .BR \-V ", " \-\-version
49 Display program version information and exit.
50 .SH EXIT STATUS
51 On success,
52 .B pldd
53 exits with the status 0.
54 If the specified process does not exist,
55 the user does not have permission to access
56 its dynamic shared object list,
57 or no command-line arguments are supplied,
58 .B pldd
59 exists with a status of 1.
60 If given an invalid option, it exits with the status 64.
61 .SH VERSIONS
62 .B pldd
63 is available since glibc 2.15.
64 .SH CONFORMING TO
65 The
66 .B pldd
67 command is not specified by POSIX.1.
68 Some other systems
69 .\" There are man pages on Solaris and HP-UX.
70 have a similar command.
71 .SH NOTES
72 The command
73 .PP
74 .in +4n
75 .EX
76 lsof \-p PID
77 .EE
78 .in
79 .PP
80 also shows output that includes the dynamic shared objects
81 that are linked into a process.
82 .PP
83 The
84 .BR gdb (1)
85 .I "info shared"
86 command also shows the shared libraries being used by a process,
87 so that one can obtain similar output to
88 .B pldd
89 using a command such as the following
90 (to monitor the process with the specified
91 .IR pid ):
92 .PP
93 .in +4n
94 .EX
95 $ \fBgdb \-ex "set confirm off" \-ex "set height 0" \-ex "info shared" \e\fP
96         \fB\-ex "quit" \-p $pid | grep \(aq\(ha0x.*0x\(aq\fP
97 .EE
98 .in
99 .SH BUGS
100 From glibc 2.19 to 2.29,
101 .B pldd
102 was broken: it just hung when executed.
103 .\" glibc commit 1a4c27355e146b6d8cc6487b998462c7fdd1048f
104 This problem was fixed in glibc 2.30, and the fix has been backported
105 to earlier glibc versions in some distributions.
106 .SH EXAMPLES
108 $ \fBecho $$\fP               # Display PID of shell
109 1143
110 $ \fBpldd $$\fP               # Display DSOs linked into the shell
111 1143:   /usr/bin/bash
112 linux\-vdso.so.1
113 /lib64/libtinfo.so.5
114 /lib64/libdl.so.2
115 /lib64/libc.so.6
116 /lib64/ld\-linux\-x86\-64.so.2
117 /lib64/libnss_files.so.2
119 .SH SEE ALSO
120 .BR ldd (1),
121 .BR lsof (1),
122 .BR dlopen (3),
123 .BR ld.so (8)