]>
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 | .\" |
3fde8c2e | 5 | .TH PLDD 1 2020-11-01 "GNU" "Linux User Manual" |
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 | |
22 | .BR \-? ", " \-\-help | |
da80c365 | 23 | Display a help message and exit. |
f1ed8a80 | 24 | .TP |
a28b73cd | 25 | .B \-\-usage |
da80c365 | 26 | Display a short usage message and exit. |
f1ed8a80 MK |
27 | .TP |
28 | .BR \-V ", " \-\-version | |
da80c365 | 29 | Display program version information and exit. |
f1ed8a80 MK |
30 | .SH EXIT STATUS |
31 | On success, | |
32 | .B pldd | |
33 | exits with the status 0. | |
34 | If the specified process does not exist, | |
35 | the user does not have permission to access | |
36 | its dynamic shared object list, | |
37 | or no command-line arguments are supplied, | |
38 | .B pldd | |
39 | exists with a status of 1. | |
40 | If given an invalid option, it exits with the status 64. | |
7e57f0e6 MK |
41 | .SH VERSIONS |
42 | .B pldd | |
43 | is available since glibc 2.15. | |
44 | .SH CONFORMING TO | |
45 | The | |
46 | .B pldd | |
47 | command is not specified by POSIX.1. | |
48 | Some other systems | |
49 | .\" There are man pages on Solaris and HP-UX. | |
50 | have a similar command. | |
f1ed8a80 MK |
51 | .SH NOTES |
52 | The command | |
e6154a82 MK |
53 | .PP |
54 | .in +4n | |
55 | .EX | |
56 | lsof \-p PID | |
57 | .EE | |
58 | .in | |
59 | .PP | |
f1ed8a80 MK |
60 | also shows output that includes the dynamic shared objects |
61 | that are linked into a process. | |
2a86152e | 62 | .PP |
760fc1e8 MK |
63 | The |
64 | .BR gdb (1) | |
65 | .I "info shared" | |
66 | command also shows the shared libraries being used by a process, | |
67 | so that one can obtain similar output to | |
a28b73cd | 68 | .B pldd |
760fc1e8 MK |
69 | using a command such as the following |
70 | (to monitor the process with the specified | |
71 | .IR pid ): | |
e6154a82 | 72 | .PP |
760fc1e8 | 73 | .in +4n |
e6154a82 | 74 | .EX |
d1a71985 | 75 | $ \fBgdb \-ex "set confirm off" \-ex "set height 0" \-ex "info shared" \e\fP |
861d36ba | 76 | \fB\-ex "quit" \-p $pid | grep \(aq\(ha0x.*0x\(aq\fP |
e6154a82 | 77 | .EE |
6ae1ccd1 | 78 | .in |
bc911928 | 79 | .SH BUGS |
d3863db8 | 80 | From glibc 2.19 to 2.29, |
bc911928 | 81 | .B pldd |
d3863db8 BR |
82 | was broken: it just hung when executed. |
83 | .\" glibc commit 1a4c27355e146b6d8cc6487b998462c7fdd1048f | |
fb11d208 MK |
84 | This problem was fixed in glibc 2.30, and the fix has been backported |
85 | to earlier glibc versions in some distributions. | |
a14af333 | 86 | .SH EXAMPLES |
b76974c1 | 87 | .EX |
7e57f0e6 MK |
88 | $ \fBecho $$\fP # Display PID of shell |
89 | 1143 | |
90 | $ \fBpldd $$\fP # Display DSOs linked into the shell | |
3319789c | 91 | 1143: /usr/bin/bash |
7e57f0e6 MK |
92 | linux\-vdso.so.1 |
93 | /lib64/libtinfo.so.5 | |
94 | /lib64/libdl.so.2 | |
95 | /lib64/libc.so.6 | |
96 | /lib64/ld\-linux\-x86\-64.so.2 | |
97 | /lib64/libnss_files.so.2 | |
b76974c1 | 98 | .EE |
f1ed8a80 MK |
99 | .SH SEE ALSO |
100 | .BR ldd (1), | |
101 | .BR lsof (1), | |
102 | .BR dlopen (3), | |
103 | .BR ld.so (8) |