]>
Commit | Line | Data |
---|---|---|
f1ed8a80 MK |
1 | .\" Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com> |
2 | .\" | |
5fbde956 | 3 | .\" SPDX-License-Identifier: Linux-man-pages-copyleft |
f1ed8a80 | 4 | .\" |
a5ebdc8d | 5 | .TH pldd 1 (date) "Linux man-pages (unreleased)" |
f1ed8a80 MK |
6 | .SH NAME |
7 | pldd \- display dynamic shared objects linked into a process | |
8 | .SH SYNOPSIS | |
9 | .nf | |
dcab219a MK |
10 | .BI "pldd " "pid" |
11 | .BI pldd " option" | |
f1ed8a80 MK |
12 | .fi |
13 | .SH DESCRIPTION | |
14 | The | |
15 | .B pldd | |
da80c365 BR |
16 | command displays a list of the dynamic shared objects (DSOs) that are |
17 | linked into the process with the specified process ID (PID). | |
f1ed8a80 MK |
18 | The list includes the libraries that have been dynamically loaded using |
19 | .BR dlopen (3). | |
20 | .SH OPTIONS | |
21 | .TP | |
6fdb1c03 AC |
22 | .B \-? |
23 | .TQ | |
24 | .B \-\-help | |
da80c365 | 25 | Display a help message and exit. |
f1ed8a80 | 26 | .TP |
a28b73cd | 27 | .B \-\-usage |
da80c365 | 28 | Display a short usage message and exit. |
f1ed8a80 | 29 | .TP |
6fdb1c03 AC |
30 | .B \-V |
31 | .TQ | |
32 | .B \-\-version | |
da80c365 | 33 | Display program version information and exit. |
f1ed8a80 MK |
34 | .SH EXIT STATUS |
35 | On success, | |
36 | .B pldd | |
37 | exits with the status 0. | |
38 | If the specified process does not exist, | |
39 | the user does not have permission to access | |
40 | its dynamic shared object list, | |
41 | or no command-line arguments are supplied, | |
42 | .B pldd | |
43 | exists with a status of 1. | |
44 | If given an invalid option, it exits with the status 64. | |
7e57f0e6 | 45 | .SH VERSIONS |
7e57f0e6 MK |
46 | Some other systems |
47 | .\" There are man pages on Solaris and HP-UX. | |
48 | have a similar command. | |
4131356c AC |
49 | .SH STANDARDS |
50 | None. | |
51 | .SH HISTORY | |
52 | glibc 2.15. | |
f1ed8a80 MK |
53 | .SH NOTES |
54 | The command | |
e6154a82 MK |
55 | .PP |
56 | .in +4n | |
57 | .EX | |
58 | lsof \-p PID | |
59 | .EE | |
60 | .in | |
61 | .PP | |
f1ed8a80 MK |
62 | also shows output that includes the dynamic shared objects |
63 | that are linked into a process. | |
2a86152e | 64 | .PP |
760fc1e8 MK |
65 | The |
66 | .BR gdb (1) | |
67 | .I "info shared" | |
68 | command also shows the shared libraries being used by a process, | |
69 | so that one can obtain similar output to | |
a28b73cd | 70 | .B pldd |
760fc1e8 MK |
71 | using a command such as the following |
72 | (to monitor the process with the specified | |
73 | .IR pid ): | |
e6154a82 | 74 | .PP |
760fc1e8 | 75 | .in +4n |
e6154a82 | 76 | .EX |
d1a71985 | 77 | $ \fBgdb \-ex "set confirm off" \-ex "set height 0" \-ex "info shared" \e\fP |
a1e9245d | 78 | \fB\-ex "quit" \-p $pid | grep \[aq]\[ha]0x.*0x\[aq]\fP |
e6154a82 | 79 | .EE |
6ae1ccd1 | 80 | .in |
bc911928 | 81 | .SH BUGS |
b324e17d | 82 | From glibc 2.19 to glibc 2.29, |
bc911928 | 83 | .B pldd |
d3863db8 BR |
84 | was broken: it just hung when executed. |
85 | .\" glibc commit 1a4c27355e146b6d8cc6487b998462c7fdd1048f | |
fb11d208 MK |
86 | This problem was fixed in glibc 2.30, and the fix has been backported |
87 | to earlier glibc versions in some distributions. | |
a14af333 | 88 | .SH EXAMPLES |
b76974c1 | 89 | .EX |
7e57f0e6 MK |
90 | $ \fBecho $$\fP # Display PID of shell |
91 | 1143 | |
92 | $ \fBpldd $$\fP # Display DSOs linked into the shell | |
3319789c | 93 | 1143: /usr/bin/bash |
7e57f0e6 MK |
94 | linux\-vdso.so.1 |
95 | /lib64/libtinfo.so.5 | |
96 | /lib64/libdl.so.2 | |
97 | /lib64/libc.so.6 | |
98 | /lib64/ld\-linux\-x86\-64.so.2 | |
99 | /lib64/libnss_files.so.2 | |
b76974c1 | 100 | .EE |
f1ed8a80 MK |
101 | .SH SEE ALSO |
102 | .BR ldd (1), | |
103 | .BR lsof (1), | |
104 | .BR dlopen (3), | |
105 | .BR ld.so (8) |